rio 0.3.4 → 0.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +287 -0
- data/Rakefile +7 -9
- data/VERSION +1 -1
- data/doc/ANNOUNCE +20 -1
- data/doc/RELEASE_NOTES +41 -0
- data/doc/rdoc/classes/Kernel.html +181 -0
- data/doc/rdoc/classes/Kernel.src/M000214.html +18 -0
- data/doc/rdoc/classes/RIO.html +621 -0
- data/doc/rdoc/classes/RIO.src/M000001.html +18 -0
- data/doc/rdoc/classes/RIO.src/M000002.html +18 -0
- data/doc/rdoc/classes/RIO.src/M000003.html +18 -0
- data/doc/rdoc/classes/RIO/Doc.html +138 -0
- data/doc/rdoc/classes/RIO/Doc/HOWTO.html +1040 -0
- data/doc/rdoc/classes/RIO/Doc/INTRO.html +1613 -0
- data/doc/rdoc/classes/RIO/Doc/MISC.html +443 -0
- data/doc/rdoc/classes/RIO/Doc/SYNOPSIS.html +338 -0
- data/doc/rdoc/classes/RIO/IF.html +114 -0
- data/doc/rdoc/classes/RIO/IF/CSV.html +202 -0
- data/doc/rdoc/classes/RIO/IF/CSV.src/M000004.html +19 -0
- data/doc/rdoc/classes/RIO/IF/CSV.src/M000005.html +16 -0
- data/doc/rdoc/classes/RIO/IF/CSV.src/M000006.html +16 -0
- data/doc/rdoc/classes/RIO/IF/YAML.html +499 -0
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000007.html +19 -0
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000008.html +16 -0
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000009.html +16 -0
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000010.html +16 -0
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000011.html +16 -0
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000012.html +16 -0
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000013.html +16 -0
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000014.html +16 -0
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000015.html +16 -0
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000016.html +16 -0
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000017.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.html +7121 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000018.html +18 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000019.html +20 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000020.html +27 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000021.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000023.html +19 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000024.html +20 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000025.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000026.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000027.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000028.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000029.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000030.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000031.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000032.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000033.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000034.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000035.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000036.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000037.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000038.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000039.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000040.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000041.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000042.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000043.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000044.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000045.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000046.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000047.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000048.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000049.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000050.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000051.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000052.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000053.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000054.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000055.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000056.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000057.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000058.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000059.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000060.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000061.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000062.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000063.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000064.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000065.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000066.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000067.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000068.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000069.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000070.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000071.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000072.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000073.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000074.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000075.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000076.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000077.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000078.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000079.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000080.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000081.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000082.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000083.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000084.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000085.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000086.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000087.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000088.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000089.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000090.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000091.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000092.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000093.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000094.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000095.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000096.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000097.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000098.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000099.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000100.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000101.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000102.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000103.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000104.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000105.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000106.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000107.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000108.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000109.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000110.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000111.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000112.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000113.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000114.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000115.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000116.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000117.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000118.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000119.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000120.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000121.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000122.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000123.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000124.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000125.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000126.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000127.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000128.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000129.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000130.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000131.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000132.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000133.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000134.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000135.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000136.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000137.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000138.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000139.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000140.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000141.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000142.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000143.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000144.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000145.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000146.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000147.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000148.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000149.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000150.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000151.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000152.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000153.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000154.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000155.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000156.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000157.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000158.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000159.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000160.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000161.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000162.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000163.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000164.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000165.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000166.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000167.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000168.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000169.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000170.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000171.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000172.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000173.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000174.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000175.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000176.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000177.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000178.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000179.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000180.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000181.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000182.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000183.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000184.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000185.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000186.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000187.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000188.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000189.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000190.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000191.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000192.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000193.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000194.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000195.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000196.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000197.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000198.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000199.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000200.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000201.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000202.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000203.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000204.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000205.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000206.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000207.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000208.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000209.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000210.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000211.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000212.html +16 -0
- data/doc/rdoc/classes/RIO/Rio.src/M000213.html +16 -0
- data/doc/rdoc/created.rid +1 -0
- data/doc/rdoc/files/README.html +243 -0
- data/doc/rdoc/files/lib/rio/constructor_rb.html +142 -0
- data/doc/rdoc/files/lib/rio/doc/HOWTO_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/doc/INTRO_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/doc/MISC_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/doc/SYNOPSIS_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/basic_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/csv_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/dir_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/file_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/fileordir_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/grande_entry_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/grande_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/grande_stream_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/internal_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/path_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/stream_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/string_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/temp_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/test_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/if/yaml_rb.html +135 -0
- data/doc/rdoc/files/lib/rio/kernel_rb.html +142 -0
- data/doc/rdoc/files/lib/rio_rb.html +154 -0
- data/doc/rdoc/fr_class_index.html +37 -0
- data/doc/rdoc/fr_file_index.html +49 -0
- data/doc/rdoc/fr_method_index.html +241 -0
- data/doc/rdoc/index.html +24 -0
- data/doc/rdoc/rdoc-style.css +384 -0
- data/lib/rio.rb +21 -5
- data/lib/rio/constructor.rb +13 -0
- data/lib/rio/context/copying.rb +56 -0
- data/lib/rio/context/methods.rb +1 -0
- data/lib/rio/cp.rb +53 -34
- data/lib/rio/doc/HOWTO.rb +9 -3
- data/lib/rio/doc/INTRO.rb +113 -3
- data/lib/rio/ext.rb +7 -1
- data/lib/rio/ext/csv.rb +17 -8
- data/lib/rio/ext/yaml.rb +182 -0
- data/lib/rio/factory.rb +11 -14
- data/lib/rio/filter/closeoneof.rb +12 -31
- data/lib/rio/filter/gzip.rb +7 -0
- data/lib/rio/if.rb +4 -1
- data/lib/rio/if/csv.rb +36 -35
- data/lib/rio/if/grande.rb +74 -5
- data/lib/rio/if/grande_stream.rb +11 -3
- data/lib/rio/if/path.rb +9 -8
- data/lib/rio/if/yaml.rb +218 -0
- data/lib/rio/ioh.rb +5 -3
- data/lib/rio/matchrecord.rb +9 -2
- data/lib/rio/ops/dir.rb +2 -1
- data/lib/rio/ops/either.rb +9 -9
- data/lib/rio/ops/file.rb +4 -1
- data/lib/rio/ops/path.rb +26 -20
- data/lib/rio/ops/stream.rb +1 -1
- data/lib/rio/ops/stream/input.rb +31 -9
- data/lib/rio/ops/stream/output.rb +7 -2
- data/lib/rio/ops/stream/read.rb +10 -10
- data/lib/rio/ops/stream/write.rb +10 -10
- data/lib/rio/path.rb +2 -2
- data/lib/rio/path/reset.rb +1 -1
- data/lib/rio/piper.rb +123 -0
- data/lib/rio/piper/cp.rb +81 -0
- data/lib/rio/rectype.rb +2 -2
- data/lib/rio/rl/base.rb +40 -17
- data/lib/rio/rl/builder.rb +8 -47
- data/lib/rio/rl/ioi.rb +3 -2
- data/lib/rio/rl/path.rb +101 -78
- data/lib/rio/rl/pathmethods.rb +95 -0
- data/lib/rio/rl/uri.rb +41 -51
- data/lib/rio/scheme/cmdio.rb +7 -1
- data/lib/rio/scheme/cmdpipe.rb +150 -0
- data/lib/rio/scheme/ftp.rb +0 -4
- data/lib/rio/scheme/http.rb +0 -2
- data/lib/rio/scheme/strio.rb +16 -0
- data/lib/rio/scheme/temp.rb +7 -7
- data/lib/rio/state.rb +23 -5
- data/lib/rio/stream.rb +4 -0
- data/lib/rio/stream/duplex.rb +1 -0
- data/lib/rio/stream/open.rb +8 -2
- data/lib/rio/version.rb +1 -1
- data/test/{runtests_gem.rb → gem_runtests.rb} +0 -0
- data/test/methods/path.rb +12 -0
- data/test/runtests.rb +2 -0
- data/test/tc/abs.rb +29 -27
- data/test/tc/all.rb +9 -3
- data/test/tc/base.rb +31 -0
- data/test/tc/cmdpipe.rb +146 -0
- data/test/tc/copydir.rb +2 -1
- data/test/tc/create.rb +10 -0
- data/test/tc/csv.rb +12 -12
- data/test/tc/csv2.rb +2 -2
- data/test/tc/csv_columns.rb +3 -3
- data/test/tc/each_break.rb +21 -8
- data/test/tc/expand_path.rb +21 -27
- data/test/tc/misc.rb +0 -1
- data/test/tc/noqae.rb +29 -21
- data/test/tc/overload.rb +14 -11
- data/test/tc/piper.rb +146 -0
- data/test/tc/riorl.rb +26 -17
- data/test/tc/route.rb +51 -0
- data/test/tc/skip.rb +8 -6
- data/test/tc/split.rb +70 -0
- data/test/tc/temp.rb +5 -5
- data/test/tc/testcase.rb +1 -0
- data/test/tc/yaml.rb +118 -0
- metadata +481 -229
- data/doc/README_MSWIN32.txt +0 -39
- data/ex/colx.rb +0 -8
- data/ex/findinruby +0 -23
- data/ex/findruby +0 -15
- data/ex/passwd_report.rb +0 -8
- data/ex/prompt.rb +0 -25
- data/ex/rgb.txt.gz +0 -0
- data/ex/riocat +0 -35
- data/ex/riogunzip +0 -31
- data/ex/riogzip +0 -24
- data/ex/rioprompt.rb +0 -6
- data/ex/tolf +0 -11
- data/test/mswin32.rb +0 -28
data/lib/rio/ops/stream.rb
CHANGED
data/lib/rio/ops/stream/input.rb
CHANGED
|
@@ -45,6 +45,7 @@ require 'rio/context/stream'
|
|
|
45
45
|
require 'stringio'
|
|
46
46
|
require 'rio/record'
|
|
47
47
|
require 'rio/cp'
|
|
48
|
+
require 'rio/piper/cp'
|
|
48
49
|
|
|
49
50
|
|
|
50
51
|
module RIO
|
|
@@ -56,16 +57,17 @@ module RIO
|
|
|
56
57
|
include Enumerable
|
|
57
58
|
include Grande
|
|
58
59
|
include Cp::Stream::Input
|
|
60
|
+
include Piper::Cp::Input
|
|
59
61
|
end
|
|
60
62
|
end
|
|
61
63
|
end
|
|
62
64
|
end
|
|
65
|
+
require 'rio/piper'
|
|
63
66
|
module RIO
|
|
64
67
|
module Ops
|
|
65
68
|
module Stream
|
|
66
69
|
module Input
|
|
67
70
|
public
|
|
68
|
-
|
|
69
71
|
def each(*args,&block)
|
|
70
72
|
#p callstr('each',*args)
|
|
71
73
|
each_(*args,&block)
|
|
@@ -84,12 +86,31 @@ module RIO
|
|
|
84
86
|
self
|
|
85
87
|
end
|
|
86
88
|
|
|
87
|
-
def
|
|
89
|
+
def get()
|
|
88
90
|
until self.eof?
|
|
89
91
|
raw_rec = self._get_rec
|
|
90
92
|
return to_rec_(raw_rec) if @get_selrej.match?(raw_rec,@recno)
|
|
91
93
|
end
|
|
92
94
|
end
|
|
95
|
+
def get_type(itertype,&block)
|
|
96
|
+
old_itertype = cx['stream_itertype']
|
|
97
|
+
_set_itertype(itertype)
|
|
98
|
+
begin
|
|
99
|
+
ans = yield
|
|
100
|
+
ensure
|
|
101
|
+
_set_itertype(old_itertype)
|
|
102
|
+
end
|
|
103
|
+
ans
|
|
104
|
+
end
|
|
105
|
+
def getline()
|
|
106
|
+
get_type('lines') { get() }
|
|
107
|
+
end
|
|
108
|
+
def getrow()
|
|
109
|
+
get_type('rows') { get() }
|
|
110
|
+
end
|
|
111
|
+
def getrec()
|
|
112
|
+
get_type('records') { get() }
|
|
113
|
+
end
|
|
93
114
|
private
|
|
94
115
|
|
|
95
116
|
def _ss_like_array(selrej)
|
|
@@ -102,6 +123,7 @@ module RIO
|
|
|
102
123
|
# implemented in terms of an underlying iterator like each_line (see RIO::RecType::*)
|
|
103
124
|
def each_(*args,&block)
|
|
104
125
|
#p callstr('each_',*args)
|
|
126
|
+
|
|
105
127
|
selrej,rangetops = create_selrej()
|
|
106
128
|
want_ma = block.arity > 1
|
|
107
129
|
catch(:stop_iter) do
|
|
@@ -118,7 +140,7 @@ module RIO
|
|
|
118
140
|
end
|
|
119
141
|
return self
|
|
120
142
|
end
|
|
121
|
-
closeoneof? ?
|
|
143
|
+
closeoneof? ? ior.close_on_eof_(self) : self
|
|
122
144
|
end
|
|
123
145
|
|
|
124
146
|
# iterate over the records, yielding only with matching records
|
|
@@ -130,14 +152,14 @@ module RIO
|
|
|
130
152
|
get_arg = self.get_arg_
|
|
131
153
|
self.each_record_init_(*args)
|
|
132
154
|
catch(:stop_iter) {
|
|
133
|
-
until
|
|
155
|
+
until ior.eof?
|
|
134
156
|
break unless raw_rec = self._get_rec(get_arg)
|
|
135
157
|
rangetops = check_passed_ranges(selrej,@recno) if rangetops and @recno > rangetops[0]
|
|
136
158
|
yield to_rec_(raw_rec) if selrej.match?(raw_rec,@recno)
|
|
137
159
|
end
|
|
138
160
|
return self
|
|
139
161
|
}
|
|
140
|
-
closeoneof? ?
|
|
162
|
+
closeoneof? ? ior.close_on_eof_(self) : self
|
|
141
163
|
end
|
|
142
164
|
alias :each_row_ :each_
|
|
143
165
|
def clear_selection()
|
|
@@ -183,7 +205,7 @@ module RIO
|
|
|
183
205
|
end
|
|
184
206
|
|
|
185
207
|
def on_closeoneof
|
|
186
|
-
#p "on_closeoneof #{self.object_id} #{self.
|
|
208
|
+
#p "on_closeoneof #{self.object_id} #{self.ior.object_id}"
|
|
187
209
|
self.close
|
|
188
210
|
end
|
|
189
211
|
|
|
@@ -199,21 +221,21 @@ module RIO
|
|
|
199
221
|
public
|
|
200
222
|
|
|
201
223
|
def rewind(&block)
|
|
202
|
-
self.
|
|
224
|
+
self.ior.rewind
|
|
203
225
|
@recno = -1
|
|
204
226
|
each(&block) if block_given?
|
|
205
227
|
self
|
|
206
228
|
end
|
|
207
229
|
|
|
208
230
|
def close_read(&block)
|
|
209
|
-
self.
|
|
231
|
+
self.ior.close_read
|
|
210
232
|
each(&block) if block_given?
|
|
211
233
|
self
|
|
212
234
|
end
|
|
213
235
|
|
|
214
236
|
def copy_stream(dst)
|
|
215
237
|
#p callstr('copy_stream',dst)
|
|
216
|
-
|
|
238
|
+
ior.copy_stream(dst)
|
|
217
239
|
self
|
|
218
240
|
end
|
|
219
241
|
|
|
@@ -57,10 +57,15 @@ module RIO
|
|
|
57
57
|
include Cp::Stream::Output
|
|
58
58
|
def putrec(rec,*args)
|
|
59
59
|
self.put_(rec,*args)
|
|
60
|
+
self
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def putrec!(rec,*args)
|
|
64
|
+
rtn_close { self.put_(rec,*args) }
|
|
60
65
|
end
|
|
61
66
|
|
|
62
67
|
def close_write(&block)
|
|
63
|
-
self.
|
|
68
|
+
self.iow.close_write
|
|
64
69
|
each(&block) if block_given?
|
|
65
70
|
self
|
|
66
71
|
end
|
|
@@ -81,7 +86,7 @@ module RIO
|
|
|
81
86
|
end
|
|
82
87
|
|
|
83
88
|
def copyclose()
|
|
84
|
-
#p "#{callstr('copyclose')} closeoncopy=#{cx['closeoncopy']}
|
|
89
|
+
#p "#{callstr('copyclose')} closeoncopy=#{cx['closeoncopy']} iow=#{iow}"
|
|
85
90
|
#raise RuntimeError,"copclose"
|
|
86
91
|
if cx['closeoncopy']
|
|
87
92
|
wclose
|
data/lib/rio/ops/stream/read.rb
CHANGED
|
@@ -41,41 +41,41 @@ module RIO
|
|
|
41
41
|
module Stream
|
|
42
42
|
module Read
|
|
43
43
|
def contents()
|
|
44
|
-
auto {
|
|
44
|
+
auto { ior.gets(nil) }
|
|
45
45
|
end
|
|
46
46
|
def readlines(*args)
|
|
47
|
-
auto {
|
|
47
|
+
auto { ior.readlines(*args) }
|
|
48
48
|
end
|
|
49
49
|
def read(*args)
|
|
50
|
-
auto {
|
|
50
|
+
auto { ior.read(*args) }
|
|
51
51
|
end
|
|
52
52
|
def ungetc(*args)
|
|
53
|
-
|
|
53
|
+
ior.ungetc(*args)
|
|
54
54
|
self
|
|
55
55
|
end
|
|
56
56
|
def each_line(*args,&block)
|
|
57
57
|
auto {
|
|
58
|
-
# self.
|
|
59
|
-
self.
|
|
58
|
+
# self.ior.each_line(*args,&block)
|
|
59
|
+
self.ior.each_line { |line|
|
|
60
60
|
yield line
|
|
61
61
|
} #(*args,&block)
|
|
62
62
|
}
|
|
63
63
|
end
|
|
64
64
|
def each_byte(*args,&block)
|
|
65
|
-
auto {
|
|
65
|
+
auto { ior.each_byte(*args,&block) }
|
|
66
66
|
end
|
|
67
67
|
def each_bytes(nb,*args,&block)
|
|
68
68
|
#p callstr('each_bytes',nb,*args)
|
|
69
69
|
auto {
|
|
70
|
-
until
|
|
71
|
-
break unless s =
|
|
70
|
+
until ior.eof?
|
|
71
|
+
break unless s = ior.read(nb)
|
|
72
72
|
yield s
|
|
73
73
|
end
|
|
74
74
|
}
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
extend Forwardable
|
|
78
|
-
def_instance_delegators(:
|
|
78
|
+
def_instance_delegators(:ior,:readline,:readchar,:gets,:lineno)
|
|
79
79
|
end
|
|
80
80
|
end
|
|
81
81
|
end
|
data/lib/rio/ops/stream/write.rb
CHANGED
|
@@ -39,16 +39,16 @@ module RIO
|
|
|
39
39
|
module Ops
|
|
40
40
|
module Stream
|
|
41
41
|
module Write
|
|
42
|
-
def puts(*argv) rtn_self {
|
|
43
|
-
def puts!(*argv) rtn_close {
|
|
44
|
-
def putc(*argv) rtn_self {
|
|
45
|
-
def putc!(*argv) rtn_close {
|
|
46
|
-
def printf(*argv) rtn_self {
|
|
47
|
-
def printf!(*argv) rtn_close {
|
|
48
|
-
def print(*argv) rtn_self {
|
|
49
|
-
def print!(*argv) rtn_close {
|
|
50
|
-
def write(*argv)
|
|
51
|
-
def write!(*argv) then_close {
|
|
42
|
+
def puts(*argv) rtn_self { iow.puts(*argv) } end
|
|
43
|
+
def puts!(*argv) rtn_close { iow.puts(*argv); } end
|
|
44
|
+
def putc(*argv) rtn_self { iow.putc(*argv) } end
|
|
45
|
+
def putc!(*argv) rtn_close { iow.putc(*argv) } end
|
|
46
|
+
def printf(*argv) rtn_self { iow.printf(*argv) } end
|
|
47
|
+
def printf!(*argv) rtn_close { iow.printf(*argv) } end
|
|
48
|
+
def print(*argv) rtn_self { iow.print(*argv) } end
|
|
49
|
+
def print!(*argv) rtn_close { iow.print(*argv) } end
|
|
50
|
+
def write(*argv) iow.write(*argv) end
|
|
51
|
+
def write!(*argv) then_close { iow.write(*argv) } end
|
|
52
52
|
def _!(*argv) self.close.softreset end
|
|
53
53
|
# extend Forwardable
|
|
54
54
|
# def_instance_de
|
data/lib/rio/path.rb
CHANGED
|
@@ -71,7 +71,7 @@ module RIO
|
|
|
71
71
|
protected
|
|
72
72
|
|
|
73
73
|
def edir()
|
|
74
|
-
rl.path += '/' unless rl.path.empty? or rl.path[-1] == ?/
|
|
74
|
+
#rl.path += '/' unless rl.path.empty? or rl.path[-1] == ?/
|
|
75
75
|
next_state = become('Dir::Existing')
|
|
76
76
|
next_state.extend(Ops::Symlink::Existing) if symlink?
|
|
77
77
|
next_state
|
|
@@ -97,7 +97,7 @@ module RIO
|
|
|
97
97
|
def check?() not exist? end
|
|
98
98
|
|
|
99
99
|
def ndir()
|
|
100
|
-
rl.path += '/' unless rl.path.empty? or rl.path[-1] == ?/
|
|
100
|
+
#rl.path += '/' unless rl.path.empty? or rl.path[-1] == ?/
|
|
101
101
|
become('Dir::NonExisting')
|
|
102
102
|
end
|
|
103
103
|
def nfile() become('File::NonExisting') end
|
data/lib/rio/path/reset.rb
CHANGED
data/lib/rio/piper.rb
ADDED
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
#--
|
|
2
|
+
# ===============================================================================
|
|
3
|
+
# Copyright (c) 2005, Christopher Kleckner
|
|
4
|
+
# All rights reserved
|
|
5
|
+
#
|
|
6
|
+
# This file is part of the Rio library for ruby.
|
|
7
|
+
#
|
|
8
|
+
# Rio is free software; you can redistribute it and/or modify
|
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
11
|
+
# (at your option) any later version.
|
|
12
|
+
#
|
|
13
|
+
# Rio is distributed in the hope that it will be useful,
|
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
+
# GNU General Public License for more details.
|
|
17
|
+
#
|
|
18
|
+
# You should have received a copy of the GNU General Public License
|
|
19
|
+
# along with Rio; if not, write to the Free Software
|
|
20
|
+
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
+
# ===============================================================================
|
|
22
|
+
#++
|
|
23
|
+
#
|
|
24
|
+
# To create the documentation for Rio run the command
|
|
25
|
+
# rake rdoc
|
|
26
|
+
# from the distribution directory. Then point your browser at the 'doc/rdoc' directory.
|
|
27
|
+
#
|
|
28
|
+
# Suggested Reading
|
|
29
|
+
# * RIO::Doc::SYNOPSIS
|
|
30
|
+
# * RIO::Doc::INTRO
|
|
31
|
+
# * RIO::Doc::HOWTO
|
|
32
|
+
# * RIO::Rio
|
|
33
|
+
#
|
|
34
|
+
# <b>Rio is pre-alpha software.
|
|
35
|
+
# The documented interface and behavior is subject to change without notice.</b>
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
module RIO
|
|
39
|
+
module Piper #:nodoc: all
|
|
40
|
+
class Base
|
|
41
|
+
attr_reader :rios
|
|
42
|
+
def initialize(r1,r2,*args)
|
|
43
|
+
@rios = []
|
|
44
|
+
add_arg(r1)
|
|
45
|
+
add_arg(r2)
|
|
46
|
+
args.each { |r|
|
|
47
|
+
add_arg(r)
|
|
48
|
+
}
|
|
49
|
+
end
|
|
50
|
+
def add_arg(arg)
|
|
51
|
+
case arg
|
|
52
|
+
when Base
|
|
53
|
+
@rios += arg.rios
|
|
54
|
+
when Rio
|
|
55
|
+
case arg.scheme
|
|
56
|
+
when 'cmdpipe'
|
|
57
|
+
arg_piper = arg.rl.piper
|
|
58
|
+
@rios += arg_piper.rios
|
|
59
|
+
else
|
|
60
|
+
@rios << arg
|
|
61
|
+
end
|
|
62
|
+
else
|
|
63
|
+
raise ArgumentError,"Argument (#{arg}) is a #{arg.class}, should be a Rio or a Piper"
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
def initialize_copy(*args)
|
|
67
|
+
super
|
|
68
|
+
@rios = @rios.map{ |r| r.clone }
|
|
69
|
+
end
|
|
70
|
+
def has_output_dest?
|
|
71
|
+
case @rios[-1].scheme
|
|
72
|
+
when 'cmdio' then false
|
|
73
|
+
else true
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
def new_with(*args)
|
|
77
|
+
cp = self.clone
|
|
78
|
+
args.each { |r|
|
|
79
|
+
cp.push(r)
|
|
80
|
+
}
|
|
81
|
+
cp
|
|
82
|
+
end
|
|
83
|
+
def push(r)
|
|
84
|
+
@rios << r
|
|
85
|
+
end
|
|
86
|
+
def run_to(r)
|
|
87
|
+
@rios << r
|
|
88
|
+
run
|
|
89
|
+
self
|
|
90
|
+
end
|
|
91
|
+
def rd() @rios[-1] end
|
|
92
|
+
def wr() @rios[0] end
|
|
93
|
+
|
|
94
|
+
def run
|
|
95
|
+
#dups = @rios.map { |r| r.clone }
|
|
96
|
+
dups = @rios
|
|
97
|
+
(1...dups.size-1).each { |i| dups[i].w! }
|
|
98
|
+
(1...dups.size).each { |i|
|
|
99
|
+
#p "#{dups[i-1].cx.inspect} > #{dups[i].cx.inspect}"
|
|
100
|
+
dups[i-1] > dups[i]
|
|
101
|
+
#p dups[i-1].closed?
|
|
102
|
+
}
|
|
103
|
+
dups.each { |r| r.close.softreset }
|
|
104
|
+
dups[-1]
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
def runeth
|
|
108
|
+
dups = @rios.map { |r| r.clone }
|
|
109
|
+
|
|
110
|
+
(1...dups.size-1).each { |i| dups[i].w! }
|
|
111
|
+
|
|
112
|
+
threads = []
|
|
113
|
+
(1...dups.size).each { |i|
|
|
114
|
+
threads << Thread.new(dups[i-1],dups[i]) { |src,dst|
|
|
115
|
+
src > dst
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
threads.each { |aThread| aThread.join }
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
end
|
|
123
|
+
end
|
data/lib/rio/piper/cp.rb
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
#--
|
|
2
|
+
# ===============================================================================
|
|
3
|
+
# Copyright (c) 2005, Christopher Kleckner
|
|
4
|
+
# All rights reserved
|
|
5
|
+
#
|
|
6
|
+
# This file is part of the Rio library for ruby.
|
|
7
|
+
#
|
|
8
|
+
# Rio is free software; you can redistribute it and/or modify
|
|
9
|
+
# it under the terms of the GNU General Public License as published by
|
|
10
|
+
# the Free Software Foundation; either version 2 of the License, or
|
|
11
|
+
# (at your option) any later version.
|
|
12
|
+
#
|
|
13
|
+
# Rio is distributed in the hope that it will be useful,
|
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
16
|
+
# GNU General Public License for more details.
|
|
17
|
+
#
|
|
18
|
+
# You should have received a copy of the GNU General Public License
|
|
19
|
+
# along with Rio; if not, write to the Free Software
|
|
20
|
+
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
+
# ===============================================================================
|
|
22
|
+
#++
|
|
23
|
+
#
|
|
24
|
+
# To create the documentation for Rio run the command
|
|
25
|
+
# rake rdoc
|
|
26
|
+
# from the distribution directory. Then point your browser at the 'doc/rdoc' directory.
|
|
27
|
+
#
|
|
28
|
+
# Suggested Reading
|
|
29
|
+
# * RIO::Doc::SYNOPSIS
|
|
30
|
+
# * RIO::Doc::INTRO
|
|
31
|
+
# * RIO::Doc::HOWTO
|
|
32
|
+
# * RIO::Rio
|
|
33
|
+
#
|
|
34
|
+
# <b>Rio is pre-alpha software.
|
|
35
|
+
# The documented interface and behavior is subject to change without notice.</b>
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
module RIO
|
|
39
|
+
module Piper #:nodoc: all
|
|
40
|
+
module Cp
|
|
41
|
+
module Util
|
|
42
|
+
|
|
43
|
+
protected
|
|
44
|
+
|
|
45
|
+
def process_pipe_arg_(npiper)
|
|
46
|
+
end_rio = npiper.rios[-1]
|
|
47
|
+
case end_rio.scheme
|
|
48
|
+
when 'cmdio'
|
|
49
|
+
new_rio(:cmdpipe,npiper)
|
|
50
|
+
when 'cmdpipe'
|
|
51
|
+
if end_rio.has_output_dest?
|
|
52
|
+
npiper.run
|
|
53
|
+
end_rio
|
|
54
|
+
else
|
|
55
|
+
new_rio(:cmdpipe,npiper)
|
|
56
|
+
end
|
|
57
|
+
else
|
|
58
|
+
npiper.run
|
|
59
|
+
end_rio
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
end
|
|
64
|
+
module Input
|
|
65
|
+
include Util
|
|
66
|
+
def |(arg)
|
|
67
|
+
#p "#{self} | #{arg}"
|
|
68
|
+
ario = ensure_cmd_rio(arg)
|
|
69
|
+
#cp = Rio.new(self.rl)
|
|
70
|
+
#cp.cx = self.cx.clone
|
|
71
|
+
#cp.ioh = self.ioh.clone unless self.ioh.nil?
|
|
72
|
+
cp = clone_rio()
|
|
73
|
+
npiper = Piper::Base.new(cp,ario)
|
|
74
|
+
process_pipe_arg_(npiper)
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
__END__
|