Skip to content

Add some sample ruby object for describe this project. #16

@zw963

Description

@zw963

Hi, can we consider add some sample code for describe following feature?

1. Syntax highlighting for inspected Ruby objects
2. Support for generic objects, especially enumerators, and nested generic objects
3. Supports common standard library objects, like Set

Anyway, after test again and again in irb + ruby 3.0.0, i found there no any special effect
for this gem, in fact, i guess no any changes happen after i add (or not) following code into .irbrc

require 'wirb'
require 'wirb/wp'
Wirb.start

Following is some sample.

3.0.0 :006 > h
 => #<Set: {"374f9740e1a2602cf4dda124d3ff002944053d6fd4c85d993984295c386640b21c7b8fc9dd6a4b6b2b52a2", "4715b82ba99d642f553f648ae514e64e6c1e9555e54d3197bd90", "3e1115260104179fc946ecfc11dfcb0936038c417536016f3072ece0302d13893d46d814a7a8b0e2f924833dbd0db7a69114fb7f6b8555fcf1e442b1e399360e08cf8c35d02beec74d2df56cd10ecac1df705eedeb7dbe85", "96b2de28e529b31273d725abfb25988b712598f1996236d8bfb9c55c72dec7f07e0145420178d83dc7633cc90e727650605cf134b8880638281c37bfab57eaeab9fb0e81b7181b9a4ab965bca73f631005cf3728eed4f35e86c721", "76dde9252e5ef398ff3506c3a73d9e6f7fb55bd25fec48e1780adb7bcc566f1892d6bdd555d973ee7d88b9af060504c43064b9063698a829c14628bed875feda5be9e0c0ba22d314be2094beeeecac8535700440de9a914f2c9db2", "f725cd6dfb9388dd8d8356122aae1079bed096c5fa7a5f66b1b9e4c6221077062469ae3547a330139447cada0abad83dcbb53f2e6ac22d", "c3ca7685417eb6e78dc53b68", "025a5c68879e33051f1439c1bfbf84281c20c457174794b29a109dd4ade5f301af8ef96f4addac3e9d49859ea10f448ee6043785dedc6232361d5115324eefcb6a87a5f9357d74e5716353218090e71d1545f8f36666def08393e378d849b0", "79757c8adddb306ad11e029a7e6de76ed8dea3ebb3d53b11a4793a1330c9aa", "a35fb7fb6b58954b62c0"}> 
3.0.0 :007 > wp h
#<Set: {"374f9740e1a2602cf4dda124d3ff002944053d6fd4c85d993984295c386640b21c7b8fc9dd6a4b6b2b52a2", "4715b82ba99d642f553f648ae514e64e6c1e9555e54d3197bd90", "3e1115260104179fc946ecfc11dfcb0936038c417536016f3072ece0302d13893d46d814a7a8b0e2f924833dbd0db7a69114fb7f6b8555fcf1e442b1e399360e08cf8c35d02beec74d2df56cd10ecac1df705eedeb7dbe85", "96b2de28e529b31273d725abfb25988b712598f1996236d8bfb9c55c72dec7f07e0145420178d83dc7633cc90e727650605cf134b8880638281c37bfab57eaeab9fb0e81b7181b9a4ab965bca73f631005cf3728eed4f35e86c721", "76dde9252e5ef398ff3506c3a73d9e6f7fb55bd25fec48e1780adb7bcc566f1892d6bdd555d973ee7d88b9af060504c43064b9063698a829c14628bed875feda5be9e0c0ba22d314be2094beeeecac8535700440de9a914f2c9db2", "f725cd6dfb9388dd8d8356122aae1079bed096c5fa7a5f66b1b9e4c6221077062469ae3547a330139447cada0abad83dcbb53f2e6ac22d", "c3ca7685417eb6e78dc53b68", "025a5c68879e33051f1439c1bfbf84281c20c457174794b29a109dd4ade5f301af8ef96f4addac3e9d49859ea10f448ee6043785dedc6232361d5115324eefcb6a87a5f9357d74e5716353218090e71d1545f8f36666def08393e378d849b0", "79757c8adddb306ad11e029a7e6de76ed8dea3ebb3d53b11a4793a1330c9aa", "a35fb7fb6b58954b62c0"}>
 =>  
3.0.0 :008 > h1
 => {"23fbeb34-0fa5-4b99-b469-665ead649a28"=>"a37d433298912e8ee9459255026a32286154c049fd101aa5a4304fee89b5acc3ec32d4c9c1bf5bec8f5d11b78b81a2b2f241c2e142d211e40333d9e9b9777ecf0bbf23304332a007a945fffd436c25787bd459cf44bb4a85c0921631a7", "bc7c3cc7-6de2-4cee-acd2-9aff28a6db5a"=>"2338e186c07f9271a968", "a0e0c0b8-5f7c-4f1a-9329-4fd1dcc92ef2"=>"53f2a8f965306afe883046e5445b4fa601a1aaedbab51a38b1c5", "fce264e5-b1ff-4973-91f4-76a42736e0e6"=>"2225cc437076a00453ec54192135850d6698ddb95835f93bd7d7ce0b3178e05a716b3669b95d7b824035691db6648fbbc1cdccdaa3c7e1ee602d08247afb2a91362c90ff66b1", "e4c5e6c3-cad2-4b57-8b96-16455c7c4c02"=>"711c247df78a4138ed4e232f50ede1062a274c84ad40d75e52aff839933084614f2159c52e21fd8c82414c47c0968806dcc8a0529548", "2264fc3a-64b0-47b2-a558-ba35223cd0aa"=>"6e0685c51d818d994d9c94ada77bc8cee1bd8b4a1971b086353374bb2294867aff6e608a78ecf4e1f4e93a25385603454858a7e3478c0b5755b9b87c", "c8ad005b-f50c-4c2b-8392-d88a714aae66"=>"a626c45bcc57f8468b977088894a45a92b3b595b285ebe6e10b1629fdadea4e95f08ee05ca88895f7900ec396ba98995db38ffad020a703d3e25828a2246043b87562b2d5ef4b07adf9ce25e789cef3c", "ef83de73-5abc-4488-8eef-cc35b25c7f37"=>"2bdf782afc7d80023f3bc6a922ab88900a3cf2e38dc8d459961cd63809ab4e6a33cd431919850fff2388387fca3b8d2665bce6dbde03366fd4c11c2ad34ae772179e0ce0e64a2884bd7a01e86737febb4c6ab170fcf3d532a33b763f03f55768", "192781ac-9acb-4b17-b1bf-d284e77f1dda"=>"e01b44b91117249da18dd5f1215c4e5e751dc3351b17b5adcb4473f601254adca4e0bfb38a3ce1", "7130e4a3-54d7-4fb3-9085-5595738e2da5"=>"c173bd71f743bf8df912e1ea7dc44873d5a70c2af2a9b9e01a95b51fb6aab2c2ccbab24e7bc10e24f5b28143ea9ded82873f2729f2dc8e99a262f695314ebf0911c114"} 
3.0.0 :009 > wp h1
{"23fbeb34-0fa5-4b99-b469-665ead649a28"=>"a37d433298912e8ee9459255026a32286154c049fd101aa5a4304fee89b5acc3ec32d4c9c1bf5bec8f5d11b78b81a2b2f241c2e142d211e40333d9e9b9777ecf0bbf23304332a007a945fffd436c25787bd459cf44bb4a85c0921631a7", "bc7c3cc7-6de2-4cee-acd2-9aff28a6db5a"=>"2338e186c07f9271a968", "a0e0c0b8-5f7c-4f1a-9329-4fd1dcc92ef2"=>"53f2a8f965306afe883046e5445b4fa601a1aaedbab51a38b1c5", "fce264e5-b1ff-4973-91f4-76a42736e0e6"=>"2225cc437076a00453ec54192135850d6698ddb95835f93bd7d7ce0b3178e05a716b3669b95d7b824035691db6648fbbc1cdccdaa3c7e1ee602d08247afb2a91362c90ff66b1", "e4c5e6c3-cad2-4b57-8b96-16455c7c4c02"=>"711c247df78a4138ed4e232f50ede1062a274c84ad40d75e52aff839933084614f2159c52e21fd8c82414c47c0968806dcc8a0529548", "2264fc3a-64b0-47b2-a558-ba35223cd0aa"=>"6e0685c51d818d994d9c94ada77bc8cee1bd8b4a1971b086353374bb2294867aff6e608a78ecf4e1f4e93a25385603454858a7e3478c0b5755b9b87c", "c8ad005b-f50c-4c2b-8392-d88a714aae66"=>"a626c45bcc57f8468b977088894a45a92b3b595b285ebe6e10b1629fdadea4e95f08ee05ca88895f7900ec396ba98995db38ffad020a703d3e25828a2246043b87562b2d5ef4b07adf9ce25e789cef3c", "ef83de73-5abc-4488-8eef-cc35b25c7f37"=>"2bdf782afc7d80023f3bc6a922ab88900a3cf2e38dc8d459961cd63809ab4e6a33cd431919850fff2388387fca3b8d2665bce6dbde03366fd4c11c2ad34ae772179e0ce0e64a2884bd7a01e86737febb4c6ab170fcf3d532a33b763f03f55768", "192781ac-9acb-4b17-b1bf-d284e77f1dda"=>"e01b44b91117249da18dd5f1215c4e5e751dc3351b17b5adcb4473f601254adca4e0bfb38a3ce1", "7130e4a3-54d7-4fb3-9085-5595738e2da5"=>"c173bd71f743bf8df912e1ea7dc44873d5a70c2af2a9b9e01a95b51fb6aab2c2ccbab24e7bc10e24f5b28143ea9ded82873f2729f2dc8e99a262f695314ebf0911c114"}

Instead, if i use amazing_print gem, it give me a very nice output.

[1] pry(main)> h
[
    "d16a75c2ffd6ab7dba633241d090edaabf6020b7d07702e90d3117094b6df890697aff7794bed4979bfddd5e49c4e9e5635d0dd9676e291cd2a7b46c55ba7d3d3af7b908cee9ae06b75f15d08ab7c3d747281f0e9f45a7c71f2d55dea59ecf69262a16",
    "1641dbdc746a470e024c1b11c12bad53e94338f74ebc9c8ae5323bd1fcbae44b1b18292c94029f22c07ed81e407f2f9463cfe96756e12a58b14fac1b0ba29f7402c2dd442817c1e698599924cf135b1539572d5934b0b87f31a473b153c3839ba86d",
    "d4c1b7326360efa7c55838e088de7335e54c033a9cf4d295bef5ac1d067529061835633c2ea8bba705a5",
    "3015834e81af7aed6e271cbab20b455f6f44ebf5aa8116bd8f443da4639678686af3827f85c9be61630521bc5ff6e47c1c8bb255932999c84331eda80ffacef757659b99c641767ef8f25b9f",
    "e03b775884357e1786ebe05c3b39516d48657be30d2d216155633354206c9626c2f09bdb8b7d4dd72099da",
    "f225f0cd3edd609218d8537a2b7a1b6861d26f24c9c42613f5b7b9f8c6cb5191b8b4db6968b980fe24df47e9ae2f31af63f2f4582059c08115872727655e7a6775bac00449beb444d3d459c46898159628e2bd57a3778a6e57a3765bec35fb425f",
    "4474580f",
    "836912ec49ef6576b56522e8945a89f86729f6d70d718e948ad1ecf647b07495495fbda0abb2ab12277b0b18ee1c04d05f3dc2d7555e01f4f0c7a8ef41f9c4b4bbc61cf056527b791da92fe2c2f4",
    "7d621a82df7c518d33fa3f573c20f9e8dc1499522e3beb70c651af8ff2",
    "978df6ec512c25612fbc465250daa4225c98928f171285cb9c88eae2f9099d0cc556da2341ce1fb5db0d05168a754ebc489f717bb8bc656e4735b76c6083ef046f9b20cfcd2ea02604d39f40076aa0f090975e64d320abce5e53523848f5eedecf3b"
]
[2] pry(main)> h1
{
    "6b358fe3-b10f-434a-b229-4382d4712622" => "69a09c56b10c1bdbd236e892c24cce45cbaa1a",
    "b53df44c-a8e4-4a5a-991e-4dd77f1c978d" => "e1a353d89e72c677681c56ef48736e5da2045e7258ab83def4e65c9831af27",
    "19b21af4-918e-4b06-991f-63b42ea73f19" => "65bca8b69600f1e2d99048d1eae8655b6a8aa814ed97a67674273ab3dd27052740fc6b0ee00c588d191ac76ce610af5bca747f7ac82317017c6f6ad6692d3f060216b703bd393a5a3b3c90af322f0a92ee8188bb01b8b5c71d2edf2df60ad1d772",
    "fc49bd0d-4896-4de3-a9c5-f81b31bcb8ee" => "6ccd21a7229f2ba69c78db62055745f50b",
    "8a4c36ba-68f2-4079-bf1f-718bd06d2835" => "9fe8aa0287a5d15a72a4122bab6567bb764957b386df3f54779898e21f2115c33667a97275dadade70a90f284e47081f",
    "738c3832-d8fb-4c93-8eaa-a1c0f6ac0765" => "6fee7efe1fd5524fccfa31e7db57179ac153748dcc19e0591a685b13e69bb6d46ebc647ef0",
    "1ef2d4e7-3596-40e1-b950-58d3ef6a2273" => "ddf60442f973544c225a736c39f1f5f2930920bfd98a42ef6315404eb2adb3b56e8c88d8efa9296270",
    "4eea8556-be16-437d-b6ce-df6b42d838c1" => "a78f8a22448b723b38c4728d28f5dcd835a491dc43b1ab94c3d4ac5758f96b33325ab95d22dd3be2ddb5f2d339d2ced5acf16ae9ec62",
    "2ae07668-5321-4632-8124-9ac92b6d4f52" => "fce2b506faafee5b40e25812ecd75e",
    "77987c1f-f3eb-4304-b0ed-5b8ddddac61c" => "4d0b8a6a3c3bb6e6138fb25a523f109ef26610b497ba19e1e38517edf62fbaee5a0a92f2919dc5563df15da8fe7be7a77a2eabc979a5603b3fcdf6ced0dbc3bef0d9bed08a4f464942c96b2487b29c9321176151317fa2092f6f1b"
}

Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions