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/ext/yaml.rb
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
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
|
+
require 'yaml'
|
|
39
|
+
|
|
40
|
+
module RIO
|
|
41
|
+
module Ext
|
|
42
|
+
module YAML
|
|
43
|
+
module Cx
|
|
44
|
+
def yaml(&block)
|
|
45
|
+
cxx('yaml',true,&block)
|
|
46
|
+
end
|
|
47
|
+
def yaml?() cxx?('yaml') end
|
|
48
|
+
def yaml_(fs=',',rs=nil)
|
|
49
|
+
cxx_('yaml',true)
|
|
50
|
+
end
|
|
51
|
+
protected :yaml_
|
|
52
|
+
def objects(*args) records(*args) end
|
|
53
|
+
def documents(*args) rows(*args) end
|
|
54
|
+
def skipobjects(*args) skiprecords(*args) end
|
|
55
|
+
def skipdocuments(*args) skiprows(*args) end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
module YAML
|
|
59
|
+
module Input
|
|
60
|
+
def cpto_(arg)
|
|
61
|
+
#p callstr('cpto_',arg.inspect)
|
|
62
|
+
|
|
63
|
+
case arg
|
|
64
|
+
when ::Array,::String then super
|
|
65
|
+
when ::IO,::StringIO then cpto_io_(arg)
|
|
66
|
+
else super
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
def apto_(arg)
|
|
70
|
+
case arg
|
|
71
|
+
when ::Array,::String then super
|
|
72
|
+
when ::IO,::StringIO then cpto_io_(arg)
|
|
73
|
+
else super
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
def cpto_io_(arg)
|
|
77
|
+
self.each { |obj|
|
|
78
|
+
arg << obj.to_yaml + $/
|
|
79
|
+
}
|
|
80
|
+
end
|
|
81
|
+
def cpto_obj_(arg)
|
|
82
|
+
self.each { |obj|
|
|
83
|
+
|
|
84
|
+
}
|
|
85
|
+
end
|
|
86
|
+
def cpto_array_(array)
|
|
87
|
+
self.each { |el|
|
|
88
|
+
array << el
|
|
89
|
+
}
|
|
90
|
+
end
|
|
91
|
+
def cpto_string_(string)
|
|
92
|
+
self.each { |el|
|
|
93
|
+
string << el.to_yaml + $/
|
|
94
|
+
}
|
|
95
|
+
end
|
|
96
|
+
def get_(arg=nil)
|
|
97
|
+
case cx['stream_itertype']
|
|
98
|
+
when 'lines' then super
|
|
99
|
+
when 'records' then ::YAML.load(self.ioh)
|
|
100
|
+
when 'rows' then ::YAML.dump(::YAML.load(self.ioh))
|
|
101
|
+
else ::YAML.load(self.ioh)
|
|
102
|
+
end
|
|
103
|
+
end
|
|
104
|
+
def each_rec_(&block)
|
|
105
|
+
case cx['stream_itertype']
|
|
106
|
+
when 'lines' then super
|
|
107
|
+
when 'records' then ::YAML.load_documents(self.ioh,&block)
|
|
108
|
+
when 'rows' then ::YAML.load_documents(self.ioh) { |obj| yield obj.to_yaml }
|
|
109
|
+
else ::YAML.load_documents(self.ioh,&block)
|
|
110
|
+
end
|
|
111
|
+
self
|
|
112
|
+
end
|
|
113
|
+
def load()
|
|
114
|
+
getrec()
|
|
115
|
+
end
|
|
116
|
+
def getobj()
|
|
117
|
+
getrec()
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
def add_filters
|
|
121
|
+
cx['yaml_close_eof'],cx['closeoneof'] = cx['closeoneof'],false
|
|
122
|
+
super
|
|
123
|
+
end
|
|
124
|
+
def each_(&block)
|
|
125
|
+
#old_close_eof,cx['closeoneof'] = cx['closeoneof'],false
|
|
126
|
+
super
|
|
127
|
+
cx['closeoneof'] = cx.delete('yaml_close_eof')
|
|
128
|
+
|
|
129
|
+
if closeoneof?
|
|
130
|
+
add_filter(Filter::CloseOnEOF)
|
|
131
|
+
ioh.oncloseproc = proc { self.on_closeoneof }
|
|
132
|
+
end
|
|
133
|
+
closeoneof? ? ioh.close_on_eof_(self) : self
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
|
|
138
|
+
module YAML
|
|
139
|
+
module Output
|
|
140
|
+
protected
|
|
141
|
+
|
|
142
|
+
def cpfrom_(arg)
|
|
143
|
+
case arg
|
|
144
|
+
when ::Array then cpfrom_array_(arg)
|
|
145
|
+
when Rio,::IO,::StringIO then super
|
|
146
|
+
else self.put_(arg)
|
|
147
|
+
end
|
|
148
|
+
self
|
|
149
|
+
end
|
|
150
|
+
def cpfrom_array_(array)
|
|
151
|
+
array.each { |el|
|
|
152
|
+
self.put_(el)
|
|
153
|
+
}
|
|
154
|
+
self
|
|
155
|
+
end
|
|
156
|
+
def cpfrom_rio_(ario)
|
|
157
|
+
ario.each { |el|
|
|
158
|
+
self.put_(el)
|
|
159
|
+
}
|
|
160
|
+
self
|
|
161
|
+
end
|
|
162
|
+
def put_(obj)
|
|
163
|
+
#p callstr('put_',obj)
|
|
164
|
+
ioh.puts(obj.to_yaml)
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
public
|
|
168
|
+
|
|
169
|
+
def dump(obj)
|
|
170
|
+
putrec!(obj)
|
|
171
|
+
end
|
|
172
|
+
def putobj(obj)
|
|
173
|
+
putrec(obj)
|
|
174
|
+
end
|
|
175
|
+
def putobj!(obj)
|
|
176
|
+
putrec!(obj)
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
__END__
|
data/lib/rio/factory.rb
CHANGED
|
@@ -82,6 +82,9 @@ module RIO
|
|
|
82
82
|
when 'strio'
|
|
83
83
|
require 'rio/scheme/strio'
|
|
84
84
|
StrIO
|
|
85
|
+
when 'cmdpipe'
|
|
86
|
+
require 'rio/scheme/cmdpipe'
|
|
87
|
+
CmdPipe
|
|
85
88
|
when 'aryio'
|
|
86
89
|
require 'rio/scheme/aryio'
|
|
87
90
|
AryIO
|
|
@@ -116,20 +119,8 @@ module RIO
|
|
|
116
119
|
def reset_state(rl)
|
|
117
120
|
mod = subscheme_module(rl.scheme)
|
|
118
121
|
mod.const_get(:RESET_STATE) unless mod.nil?
|
|
119
|
-
#p st
|
|
120
|
-
# @reset_class[st] ||= case st
|
|
121
|
-
# when 'Path::Reset'
|
|
122
|
-
# require 'rio/path/reset'
|
|
123
|
-
# Path::Reset
|
|
124
|
-
# when 'Stream::Open'
|
|
125
|
-
# require 'rio/stream/open'
|
|
126
|
-
# Stream::Open
|
|
127
|
-
# else
|
|
128
|
-
# raise ArgumentError,"Unknown RESET_STATE (#{st})"
|
|
129
|
-
# end
|
|
130
|
-
|
|
131
|
-
|
|
132
122
|
end
|
|
123
|
+
|
|
133
124
|
STATE2FILE = {
|
|
134
125
|
'Path::Reset' => 'rio/path/reset',
|
|
135
126
|
'Path::Empty' => 'rio/path',
|
|
@@ -168,6 +159,12 @@ module RIO
|
|
|
168
159
|
'StrIO::Stream::InOut' => 'rio/scheme/strio',
|
|
169
160
|
'StrIO::Stream::Open' => 'rio/scheme/strio',
|
|
170
161
|
|
|
162
|
+
'CmdPipe::Stream::Reset' => 'rio/scheme/cmdpipe',
|
|
163
|
+
# 'CmdPipe::Stream::Open' => 'rio/scheme/cmdpipe',
|
|
164
|
+
# 'CmdPipe::Stream::Input' => 'rio/scheme/cmdpipe',
|
|
165
|
+
# 'CmdPipe::Stream::Output' => 'rio/scheme/cmdpipe',
|
|
166
|
+
# 'CmdPipe::Stream::InOut' => 'rio/scheme/cmdpipe',
|
|
167
|
+
|
|
171
168
|
'HTTP::Stream::Input' => 'rio/scheme/http',
|
|
172
169
|
'HTTP::Stream::Open' => 'rio/scheme/http',
|
|
173
170
|
|
|
@@ -225,7 +222,7 @@ module RIO
|
|
|
225
222
|
create_handle(state2class(reset_state(riorl)).new_r(riorl))
|
|
226
223
|
end
|
|
227
224
|
def clone_state(state)
|
|
228
|
-
create_handle(state.clone)
|
|
225
|
+
create_handle(state.target.clone)
|
|
229
226
|
end
|
|
230
227
|
def create_handle(new_state)
|
|
231
228
|
hndl = Handle.new(new_state)
|
|
@@ -57,6 +57,7 @@ module RIO
|
|
|
57
57
|
rtn
|
|
58
58
|
end
|
|
59
59
|
def close_on_eof_(rtn)
|
|
60
|
+
#p callstr('close_on_eof_',rtn)
|
|
60
61
|
# p @ios
|
|
61
62
|
unless @autoclosed or closed?
|
|
62
63
|
handle.close()
|
|
@@ -66,37 +67,17 @@ module RIO
|
|
|
66
67
|
rtn
|
|
67
68
|
end
|
|
68
69
|
|
|
69
|
-
def
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
end
|
|
73
|
-
def
|
|
74
|
-
|
|
75
|
-
end
|
|
76
|
-
def
|
|
77
|
-
|
|
78
|
-
end
|
|
79
|
-
def
|
|
80
|
-
close_on_eof(super)
|
|
81
|
-
end
|
|
82
|
-
def each_byte(*args,&block)
|
|
83
|
-
close_on_eof(super)
|
|
84
|
-
end
|
|
85
|
-
def each_bytes(nb,*args,&block)
|
|
86
|
-
close_on_eof(super)
|
|
87
|
-
end
|
|
88
|
-
def readline(*args)
|
|
89
|
-
close_on_eof(super)
|
|
90
|
-
end
|
|
91
|
-
def read(*args)
|
|
92
|
-
close_on_eof(super)
|
|
93
|
-
end
|
|
94
|
-
def readchar(*args)
|
|
95
|
-
close_on_eof(super)
|
|
96
|
-
end
|
|
97
|
-
def gets(*args)
|
|
98
|
-
close_on_eof(super)
|
|
99
|
-
end
|
|
70
|
+
def readlines(*args) close_on_eof(super) end
|
|
71
|
+
def each_line(*args,&block) close_on_eof(super) end
|
|
72
|
+
def each_byte(*args,&block) close_on_eof(super) end
|
|
73
|
+
def each_bytes(nb,*args,&block) close_on_eof(super) end
|
|
74
|
+
def readline(*args) close_on_eof(super) end
|
|
75
|
+
def read(*args) close_on_eof(super) end
|
|
76
|
+
def readchar(*args) close_on_eof(super) end
|
|
77
|
+
def gets(*args) close_on_eof(super) end
|
|
78
|
+
|
|
79
|
+
def copy_stream(dst) close_on_eof(super) end
|
|
80
|
+
def contents() close_on_eof(super) end
|
|
100
81
|
end
|
|
101
82
|
end
|
|
102
83
|
end
|
data/lib/rio/filter/gzip.rb
CHANGED
|
@@ -39,10 +39,16 @@ require 'zlib'
|
|
|
39
39
|
|
|
40
40
|
module RIO
|
|
41
41
|
module Filter
|
|
42
|
+
module GZipMissing
|
|
43
|
+
def binmode()
|
|
44
|
+
self
|
|
45
|
+
end
|
|
46
|
+
end
|
|
42
47
|
module GZipRead
|
|
43
48
|
def self.extend_object(ioh_stream)
|
|
44
49
|
super
|
|
45
50
|
gz = Zlib::GzipReader.new(ioh_stream.ios)
|
|
51
|
+
gz.extend Filter::GZipMissing
|
|
46
52
|
ioh_stream.iostack.push(gz)
|
|
47
53
|
end
|
|
48
54
|
end
|
|
@@ -50,6 +56,7 @@ module RIO
|
|
|
50
56
|
def self.extend_object(ioh_stream)
|
|
51
57
|
super
|
|
52
58
|
gz = Zlib::GzipWriter.new(ioh_stream.ios)
|
|
59
|
+
gz.extend Filter::GZipMissing
|
|
53
60
|
ioh_stream.iostack.push(gz)
|
|
54
61
|
end
|
|
55
62
|
end
|
data/lib/rio/if.rb
CHANGED
|
@@ -37,6 +37,10 @@
|
|
|
37
37
|
|
|
38
38
|
module RIO
|
|
39
39
|
class Rio
|
|
40
|
+
require 'rio/if/csv'
|
|
41
|
+
include RIO::IF::CSV
|
|
42
|
+
require 'rio/if/yaml'
|
|
43
|
+
include RIO::IF::YAML
|
|
40
44
|
end
|
|
41
45
|
end
|
|
42
46
|
|
|
@@ -53,5 +57,4 @@ require 'rio/if/file'
|
|
|
53
57
|
require 'rio/if/dir'
|
|
54
58
|
require 'rio/if/stream'
|
|
55
59
|
require 'rio/if/temp'
|
|
56
|
-
require 'rio/if/csv'
|
|
57
60
|
require 'rio/if/string'
|
data/lib/rio/if/csv.rb
CHANGED
|
@@ -36,41 +36,42 @@
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
module RIO
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
39
|
+
module IF
|
|
40
|
+
module CSV
|
|
41
|
+
#def file() target.file end
|
|
42
|
+
#def dir() target.dir end
|
|
43
|
+
|
|
44
|
+
# Puts a Rio in CSV mode and sets the field and record separators.
|
|
45
|
+
# In csv mode selecting with Rio#records will cause each line
|
|
46
|
+
# read to be parsed into a line with the CSV standard library.
|
|
47
|
+
# Specifying using Rio#lines to select will return unparsed strings
|
|
48
|
+
# as normal.
|
|
49
|
+
#
|
|
50
|
+
# # copy a csv file, changing the field separator
|
|
51
|
+
# rio('afile.csv').csv > rio('afile_semicolons.csv').csv(';')
|
|
52
|
+
#
|
|
53
|
+
# CSV mode also adds two methods #columns and #skipcolumns which
|
|
54
|
+
# allows selecting columns by column index using Fixnums or Ranges
|
|
55
|
+
# in a way similar to how lines are selected.
|
|
56
|
+
#
|
|
57
|
+
# # iterate through every line but only get the first three columns
|
|
58
|
+
# rio("afile.csv").csv.columns(0..2) { |array_of_fields| ... }
|
|
59
|
+
#
|
|
60
|
+
# # iterate through every line but skip the columns 2 and 3 through 5
|
|
61
|
+
# rio("afile.csv").csv.skipcolumns(2,3..5) { |array_of_fields| ... }
|
|
62
|
+
#
|
|
63
|
+
# # an array containg all but the first line returning columns 5,6 and 7
|
|
64
|
+
# rio("afile.csv").csv.columns(5..7).skiplines[0]
|
|
65
|
+
#
|
|
66
|
+
# See RIO::Doc::INTRO for complete documentation on csv mode.
|
|
67
|
+
def csv(field_separator=',',record_separator=nil,&block)
|
|
68
|
+
target.csv(field_separator,record_separator,&block);
|
|
69
|
+
self
|
|
70
|
+
end
|
|
71
|
+
# Select columns from a CSV file. See #csv and RIO::Doc::INTRO.
|
|
72
|
+
def columns(*ranges,&block) target.columns(*ranges,&block); self end
|
|
73
|
+
# Reject columns from a CSV file. See #csv and RIO::Doc::INTRO.
|
|
74
|
+
def skipcolumns(*ranges,&block) target.skipcolumns(*ranges,&block); self end
|
|
69
75
|
end
|
|
70
|
-
# Select columns from a CSV file. See Rio#csv and RIO::Doc::INTRO.
|
|
71
|
-
def columns(*ranges,&block) target.columns(*ranges,&block); self end
|
|
72
|
-
# Reject columns from a CSV file. See Rio#csv and RIO::Doc::INTRO.
|
|
73
|
-
def nocolumns(*ranges,&block) target.nocolumns(*ranges,&block); self end
|
|
74
76
|
end
|
|
75
77
|
end
|
|
76
|
-
|
data/lib/rio/if/grande.rb
CHANGED
|
@@ -37,6 +37,8 @@
|
|
|
37
37
|
|
|
38
38
|
module RIO
|
|
39
39
|
class Rio
|
|
40
|
+
# module IF
|
|
41
|
+
# module Grande
|
|
40
42
|
# Returns the contents of the rio as an array.
|
|
41
43
|
# Rio#to_a is implemented in terms of Rio#each so the the following are roughly equivelent
|
|
42
44
|
#
|
|
@@ -404,6 +406,51 @@ module RIO
|
|
|
404
406
|
# Alias for Rio#> (copy-to grande operator)
|
|
405
407
|
def copy_to(destination) target.copy_to(destination); self end
|
|
406
408
|
|
|
409
|
+
|
|
410
|
+
# Grande Pipe Operator
|
|
411
|
+
#
|
|
412
|
+
# The Rio pipe operator is actually an alternative syntax for calling the copy-to operator, designed to
|
|
413
|
+
# allow several copy operation to be performed in one line of code, with behaviour that mimics
|
|
414
|
+
# the pipe operator commonly available in shells.
|
|
415
|
+
#
|
|
416
|
+
# If +destination+ is a +cmdio+, a <tt>cmdpipe</tt> Rio is returned, and none of the commands are run.
|
|
417
|
+
#
|
|
418
|
+
# Otherwise the +cmdpipe+ Rio is run with the output of the pipe being copied to the destination.
|
|
419
|
+
# In this case a Rio representing the +destination+ is returned.
|
|
420
|
+
#
|
|
421
|
+
# If destination is not a Rio it is passed to the Rio constructor as is done with the copy-to operator
|
|
422
|
+
# except that if +destination+ is a String it is assumed to be a command instead of a path.
|
|
423
|
+
#
|
|
424
|
+
# rio('afile') | rio(?-,'grep i') | rio(?-) # returns rio(?-)
|
|
425
|
+
# # equivelent to rio(?-, 'grep i') < rio('afile') > rio(?-)
|
|
426
|
+
#
|
|
427
|
+
# rio('infile') | rio(?-, 'acmd') | rio(?-, 'acmd2') | rio('outfile')
|
|
428
|
+
# # same as
|
|
429
|
+
# # acmd = rio(?-,'acmd')
|
|
430
|
+
# # acmd2 = rio(?-,'acmd2')
|
|
431
|
+
# # out = rio('outfile')
|
|
432
|
+
# # acmd < rio('infile')
|
|
433
|
+
# # acmd2 < acmd
|
|
434
|
+
# # out < acmd2
|
|
435
|
+
#
|
|
436
|
+
# rio('afile') | 'acmd' | 'acmd2' | rio('outfile') # same thing
|
|
437
|
+
#
|
|
438
|
+
# acmdpipe = rio(?-,'acmd') | 'acmd2'
|
|
439
|
+
# rio('afile') | acmdpipe | rio('outfile') # same thing
|
|
440
|
+
#
|
|
441
|
+
# acmdpipe1 = rio(?|,'acmd','acmd2')
|
|
442
|
+
# rio('afile') | acmdpipe1 | rio('outfile') # same thing
|
|
443
|
+
#
|
|
444
|
+
# acmdpipe2 = rio('afile') | 'acmd' | 'acmd2'
|
|
445
|
+
# acmdpipe2 | rio('outfile') # same thing
|
|
446
|
+
#
|
|
447
|
+
# The grande pipe operator can not be used to create a +cmdpipe+ Rio that includes a destination.
|
|
448
|
+
# This must be done using a Rio constructor
|
|
449
|
+
# cmd_with_output = rio(?|,'acmd',rio('outfile'))
|
|
450
|
+
# rio('afile') | cmd_with_output # same as above
|
|
451
|
+
#
|
|
452
|
+
def |(destination) target | destination end
|
|
453
|
+
|
|
407
454
|
# Grande Append-To Operator
|
|
408
455
|
#
|
|
409
456
|
# The append-to grande-operator is the same as Rio#> (copy-to) except that it opens the destination
|
|
@@ -536,6 +583,24 @@ module RIO
|
|
|
536
583
|
def copy_from(source) target.copy_from(source); self end
|
|
537
584
|
|
|
538
585
|
|
|
586
|
+
# Temporarily set the Rio to read records, and call #get
|
|
587
|
+
#
|
|
588
|
+
# See also Rio#records, Rio#lines, Rio#each, Rio#[]
|
|
589
|
+
#
|
|
590
|
+
def getrec() target.getrec() end
|
|
591
|
+
|
|
592
|
+
# Temporarily set the Rio to read rows, and call #get
|
|
593
|
+
#
|
|
594
|
+
# See also Rio#rows, Rio#lines, Rio#each, Rio#[]
|
|
595
|
+
#
|
|
596
|
+
def getrow() target.getrow() end
|
|
597
|
+
|
|
598
|
+
# Temporarily set the Rio to read lines, and call #get
|
|
599
|
+
#
|
|
600
|
+
# See also Rio#records, Rio#lines, Rio#each, Rio#[]
|
|
601
|
+
#
|
|
602
|
+
def getline() target.getline() end
|
|
603
|
+
|
|
539
604
|
# Reads and returns the next record from a Rio, honoring the grande selection methods.
|
|
540
605
|
#
|
|
541
606
|
# Returns nil on end of file.
|
|
@@ -543,11 +608,15 @@ module RIO
|
|
|
543
608
|
# See also Rio#records, Rio#lines, Rio#each, Rio#[]
|
|
544
609
|
#
|
|
545
610
|
# ario = rio('afile').lines(10..12)
|
|
546
|
-
# line10 = ario.
|
|
547
|
-
# line11 = ario.
|
|
548
|
-
# line12 = ario.
|
|
549
|
-
# a_nil = ario.
|
|
550
|
-
def
|
|
611
|
+
# line10 = ario.get
|
|
612
|
+
# line11 = ario.get
|
|
613
|
+
# line12 = ario.get
|
|
614
|
+
# a_nil = ario.get
|
|
615
|
+
def get() target.get() end
|
|
616
|
+
|
|
617
|
+
# Writes a single record to a Rio
|
|
618
|
+
def putrec(el) target.putrec(el) end
|
|
619
|
+
|
|
551
620
|
|
|
552
621
|
# Grande Exclude method
|
|
553
622
|
#
|