rio 0.4.2 → 0.5.1
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/.gitignore +21 -0
- data/Gemfile +4 -0
- data/{COPYING → LICENSE} +3 -0
- data/README +20 -27
- data/Rakefile +48 -277
- data/lib/rio.rb +63 -24
- data/lib/rio/.document +5 -0
- data/lib/rio/abstract_method.rb +3 -14
- data/lib/rio/alturi.rb +507 -0
- data/lib/rio/alturi/algorithm.rb +313 -0
- data/lib/rio/alturi/cached_fields.rb +68 -0
- data/lib/rio/alturi/escape.rb +82 -0
- data/lib/rio/alturi/parse.rb +75 -0
- data/lib/rio/alturi/path_parts.rb +81 -0
- data/lib/rio/alturi/regex.rb +76 -0
- data/lib/rio/alturi/uri_parts.rb +512 -0
- data/lib/rio/argv.rb +3 -14
- data/lib/rio/arraynge.rb +146 -0
- data/lib/rio/arycopy.rb +3 -14
- data/lib/rio/assert.rb +87 -15
- data/lib/rio/base.rb +7 -30
- data/lib/rio/callstr.rb +3 -14
- data/lib/rio/const.rb +3 -14
- data/lib/rio/construct.rb +4 -15
- data/lib/rio/constructor.rb +4 -19
- data/lib/rio/context.rb +17 -14
- data/lib/rio/context/autoclose.rb +3 -14
- data/lib/rio/context/binmode.rb +63 -0
- data/lib/rio/context/copying.rb +3 -14
- data/lib/rio/context/cxx.rb +3 -14
- data/lib/rio/context/dir.rb +5 -15
- data/lib/rio/context/encoding.rb +84 -0
- data/lib/rio/context/gzip.rb +3 -14
- data/lib/rio/context/methods.rb +8 -17
- data/lib/rio/context/skip.rb +3 -14
- data/lib/rio/context/stream.rb +3 -14
- data/lib/rio/cp.rb +5 -20
- data/lib/rio/cxuri.rb +67 -0
- data/lib/rio/dbg/trace_states.rb +18 -0
- data/lib/rio/def.rb +3 -14
- data/lib/rio/dir.rb +9 -18
- data/lib/rio/doc.rb +3 -14
- data/lib/rio/doc/EXAMPLES.rb +256 -269
- data/lib/rio/doc/HOWTO.rb +685 -707
- data/lib/rio/doc/INDEX.rb +261 -282
- data/lib/rio/doc/INTRO.rb +1029 -1040
- data/lib/rio/doc/OPTIONAL.rb +77 -103
- data/lib/rio/doc/SYNOPSIS.rb +122 -143
- data/lib/rio/entrysel.rb +3 -14
- data/lib/rio/exception.rb +4 -14
- data/lib/rio/exception/copy.rb +3 -14
- data/lib/rio/exception/notimplemented.rb +3 -14
- data/lib/rio/exception/notsupported.rb +3 -14
- data/lib/rio/exception/open.rb +3 -14
- data/lib/rio/exception/state.rb +3 -14
- data/lib/rio/ext.rb +14 -17
- data/lib/rio/ext/csv.rb +25 -304
- data/lib/rio/ext/csv/csv-legacy.rb +344 -0
- data/lib/rio/ext/csv/csv.rb +359 -0
- data/lib/rio/ext/csv/filter.rb +209 -0
- data/lib/rio/ext/if.rb +3 -14
- data/lib/rio/ext/mp3info.rb +3 -14
- data/lib/rio/ext/splitlines.rb +3 -14
- data/lib/rio/ext/yaml.rb +3 -14
- data/lib/rio/ext/yaml/doc.rb +3 -14
- data/lib/rio/ext/yaml/tie.rb +3 -14
- data/lib/rio/ext/zipfile.rb +3 -14
- data/lib/rio/ext/zipfile/fs.rb +3 -14
- data/lib/rio/ext/zipfile/rl.rb +3 -14
- data/lib/rio/ext/zipfile/rootdir.rb +3 -14
- data/lib/rio/ext/zipfile/state.rb +3 -14
- data/lib/rio/ext/zipfile/wrap.rb +3 -14
- data/lib/rio/factory.rb +96 -213
- data/lib/rio/fibpipe.rb +373 -0
- data/lib/rio/file.rb +8 -17
- data/lib/rio/filter.rb +4 -15
- data/lib/rio/filter/closeoneof.rb +3 -14
- data/lib/rio/filter/gzip.rb +18 -27
- data/lib/rio/fs.rb +172 -0
- data/lib/rio/fs/base.rb +3 -14
- data/lib/rio/fs/impl.rb +3 -14
- data/lib/rio/fs/native.rb +3 -14
- data/lib/rio/fs/stream.rb +3 -14
- data/lib/rio/fs/url.rb +3 -14
- data/lib/rio/ftp/conncache.rb +16 -18
- data/lib/rio/ftp/dir.rb +4 -15
- data/lib/rio/ftp/fs.rb +62 -42
- data/lib/rio/fwd.rb +15 -0
- data/lib/rio/grande.rb +4 -15
- data/lib/rio/handle.rb +3 -45
- data/lib/rio/if.rb +15 -20
- data/lib/rio/if/basic.rb +3 -36
- data/lib/rio/if/csv.rb +7 -20
- data/lib/rio/if/dir.rb +9 -21
- data/lib/rio/if/file.rb +6 -19
- data/lib/rio/if/fileordir.rb +18 -29
- data/lib/rio/if/grande.rb +109 -120
- data/lib/rio/if/grande_entry.rb +5 -18
- data/lib/rio/if/grande_stream.rb +29 -42
- data/lib/rio/if/internal.rb +15 -16
- data/lib/rio/if/path.rb +35 -47
- data/lib/rio/if/rubyio.rb +35 -47
- data/lib/rio/if/string.rb +3 -16
- data/lib/rio/if/temp.rb +3 -16
- data/lib/rio/if/test.rb +8 -20
- data/lib/rio/if/yaml.rb +16 -29
- data/lib/rio/ioh.rb +35 -34
- data/lib/rio/iomode.rb +3 -14
- data/lib/rio/ios/fail.rb +3 -14
- data/lib/rio/ios/generic.rb +3 -14
- data/lib/rio/ios/mode.rb +3 -14
- data/lib/rio/ios/null.rb +3 -14
- data/lib/rio/iowrap.rb +3 -14
- data/lib/rio/kernel.rb +4 -17
- data/lib/rio/local.rb +3 -14
- data/lib/rio/match.rb +3 -14
- data/lib/rio/matchrecord.rb +8 -17
- data/lib/rio/no_warn.rb +3 -14
- data/lib/rio/nullio.rb +3 -14
- data/lib/rio/open3.rb +3 -16
- data/lib/rio/ops.rb +33 -0
- data/lib/rio/ops/construct.rb +3 -14
- data/lib/rio/ops/create.rb +11 -25
- data/lib/rio/ops/dir.rb +17 -24
- data/lib/rio/ops/either.rb +28 -31
- data/lib/rio/ops/file.rb +29 -26
- data/lib/rio/ops/path.rb +65 -34
- data/lib/rio/ops/stream.rb +13 -15
- data/lib/rio/ops/stream/input.rb +59 -28
- data/lib/rio/ops/stream/output.rb +4 -14
- data/lib/rio/ops/stream/read.rb +4 -15
- data/lib/rio/ops/stream/write.rb +3 -14
- data/lib/rio/ops/symlink.rb +6 -15
- data/lib/rio/path.rb +10 -17
- data/lib/rio/path/reset.rb +3 -14
- data/lib/rio/piper.rb +3 -27
- data/lib/rio/piper/cp.rb +50 -27
- data/lib/rio/prompt.rb +3 -14
- data/lib/rio/rectype.rb +8 -16
- data/lib/rio/rl/base.rb +12 -25
- data/lib/rio/rl/builder.rb +25 -24
- data/lib/rio/rl/chmap.rb +3 -16
- data/lib/rio/rl/fs2url.rb +5 -16
- data/lib/rio/rl/ioi.rb +3 -14
- data/lib/rio/rl/path.rb +14 -25
- data/lib/rio/rl/pathmethods.rb +3 -14
- data/lib/rio/rl/uri.rb +18 -35
- data/lib/rio/rl/withpath.rb +36 -53
- data/lib/rio/rrl/base.rb +75 -0
- data/lib/rio/rrl/builder.rb +122 -0
- data/lib/rio/rrl/chmap.rb +53 -0
- data/lib/rio/rrl/ioi.rb +78 -0
- data/lib/rio/rrl/path.rb +117 -0
- data/lib/rio/rrl/withpath.rb +269 -0
- data/lib/rio/scheme/aryio.rb +3 -14
- data/lib/rio/scheme/cmdio.rb +73 -42
- data/lib/rio/scheme/cmdpipe.rb +122 -59
- data/lib/rio/scheme/fd.rb +19 -33
- data/lib/rio/scheme/ftp.rb +34 -40
- data/lib/rio/scheme/http.rb +13 -22
- data/lib/rio/scheme/null.rb +6 -17
- data/lib/rio/scheme/path.rb +60 -71
- data/lib/rio/scheme/stderr.rb +9 -21
- data/lib/rio/scheme/stdio.rb +14 -26
- data/lib/rio/scheme/strio.rb +37 -38
- data/lib/rio/scheme/sysio.rb +20 -32
- data/lib/rio/scheme/tcp.rb +3 -14
- data/lib/rio/scheme/temp.rb +103 -92
- data/lib/rio/state.rb +85 -67
- data/lib/rio/state/data.rb +55 -0
- data/lib/rio/state/error.rb +7 -27
- data/lib/rio/stream.rb +46 -19
- data/lib/rio/stream/base.rb +14 -14
- data/lib/rio/stream/duplex.rb +64 -26
- data/lib/rio/stream/open.rb +9 -19
- data/lib/rio/symantics.rb +3 -14
- data/lib/rio/tempdir.rb +8 -17
- data/lib/rio/to_rio.rb +3 -16
- data/lib/rio/to_rio/all.rb +3 -14
- data/lib/rio/to_rio/array.rb +3 -14
- data/lib/rio/to_rio/io.rb +3 -14
- data/lib/rio/to_rio/object.rb +3 -14
- data/lib/rio/to_rio/string.rb +3 -14
- data/lib/rio/uri/file.rb +98 -153
- data/lib/rio/uriref.rb +144 -0
- data/lib/rio/util.rb +3 -14
- data/lib/rio/version.rb +4 -15
- data/misc/clean-heading-comments.rb +39 -0
- data/misc/fixdoclinks.rb +36 -0
- data/misc/update-copyright.rb +17 -0
- data/rio.gemspec +31 -0
- data/test/alturi/tc/create.rb +24 -0
- data/test/alturi/tc/empty.rb +13 -0
- data/test/alturi/tc/encoding.rb +73 -0
- data/test/alturi/tc/file_test.rb +335 -0
- data/test/alturi/tc/ftp_alturi.rb +147 -0
- data/test/alturi/tc/generic_test.rb +335 -0
- data/test/alturi/tc/http_test.rb +359 -0
- data/test/alturi/tc/path_parts_test.rb +215 -0
- data/test/alturi/tc/rfc_test.rb +83 -0
- data/test/alturi/tc/uri_parts_authority.rb +129 -0
- data/test/alturi/tc/uri_parts_test.rb +473 -0
- data/test/alturi/tc/uri_parts_userinfo.rb +140 -0
- data/test/alturi/tests.rb +27 -0
- data/test/base_test.rb +18 -0
- data/test/bin/demo_chdir.rb +60 -0
- data/test/bin/elipsis.rb +11 -0
- data/test/env.sh +4 -0
- data/test/ftp/initftpfiles.rb +1 -0
- data/test/ftp/tc/anon_copy_data.rb +31 -0
- data/test/ftp/tc/anon_misc.rb +109 -0
- data/test/ftp/tc/anon_read.rb +99 -0
- data/test/ftp/tc/anon_special.rb +37 -0
- data/test/ftp/tc/anon_write.rb +68 -0
- data/test/ftp/tc/copy.rb +35 -0
- data/test/ftp/tc/empty.rb +16 -0
- data/test/ftp/tc/ftp2ftp.rb +42 -0
- data/test/ftp/tc/ftp_fs.rb +333 -0
- data/test/ftp/testdef.rb +7 -2
- data/test/ftp/tests.rb +24 -0
- data/test/gem_runtests.rb +1 -1
- data/test/http/copy-from-http.rb +0 -1
- data/test/http/def.rb +20 -0
- data/test/http/tc/copy_from_http.rb +128 -0
- data/test/http/tc/empty.rb +14 -0
- data/test/http/tc/uri_meta.rb +52 -0
- data/test/http/tests.rb +19 -0
- data/test/lib/assertions.rb +7 -0
- data/test/lib/run_tests.rb +26 -0
- data/test/lib/temp_server.rb +7 -4
- data/test/methods/test_suite.rb +108 -0
- data/test/platform.rb +5 -0
- data/test/qpdir.rb +2 -0
- data/test/rio/scheme.rb +49 -0
- data/test/rio/tc/pathparts.rb +61 -0
- data/test/riotest/test_suite.rb +33 -0
- data/test/riotest/unit_test.rb +118 -0
- data/test/riotest/util.rb +23 -0
- data/test/runalltests.rb +1 -1
- data/test/runftptests.rb +2 -7
- data/test/runhttp.rb +4 -2
- data/test/runhttptests.rb +6 -5
- data/test/runtests.rb +66 -37
- data/test/srv/www/htdocs/riotest/dir/index.html +11 -0
- data/test/srv/www/htdocs/riotest/hw.html +8 -0
- data/test/srv/www/htdocs/riotest/lines.txt.gz +0 -0
- data/test/tc/abs2.rb +358 -0
- data/test/tc/all.rb +17 -10
- data/test/tc/base2.rb +8 -7
- data/test/tc/clearsel.rb +3 -2
- data/test/tc/closeoneof.rb +14 -15
- data/test/tc/cmdio.rb +193 -0
- data/test/tc/cmdpipe.rb +258 -63
- data/test/tc/copy.rb +3 -2
- data/test/tc/copyarray.rb +0 -4
- data/test/tc/copydest.rb +2 -3
- data/test/tc/copydir.rb +5 -1
- data/test/tc/copydir2.rb +68 -0
- data/test/tc/create.rb +4 -9
- data/test/tc/csv.rb +38 -119
- data/test/tc/csv2.rb +38 -57
- data/test/tc/csv_columns.rb +210 -8
- data/test/tc/csv_gzip.rb +78 -0
- data/test/tc/csv_headers.rb +134 -0
- data/test/tc/csvutil.rb +53 -16
- data/test/tc/dir.rb +3 -4
- data/test/tc/dir_iter.rb +3 -1
- data/test/tc/dirent.rb +8 -7
- data/test/tc/each.rb +62 -47
- data/test/tc/each_break.rb +67 -25
- data/test/tc/edf.rb +3 -2
- data/test/tc/empty.rb +6 -4
- data/test/tc/encoding.rb +30 -0
- data/test/tc/entary.rb +6 -5
- data/test/tc/eq.rb +2 -2
- data/test/tc/expand_path.rb +14 -14
- data/test/tc/ext.rb +7 -7
- data/test/tc/fileno.rb +3 -2
- data/test/tc/files_select.rb +1 -1
- data/test/tc/getrec.rb +2 -3
- data/test/tc/gzip.rb +5 -3
- data/test/tc/likeio.rb +5 -5
- data/test/tc/lineno.rb +1 -1
- data/test/tc/lines.rb +4 -4
- data/test/tc/misc.rb +29 -171
- data/test/tc/nolines.rb +4 -2
- data/test/tc/noqae.rb +12 -10
- data/test/tc/overload.rb +1 -2
- data/test/tc/pa.rb +25 -24
- data/test/tc/path_parts.rb +54 -20
- data/test/tc/paths.rb +3 -2
- data/test/tc/piper.rb +32 -31
- data/test/tc/programs_util.rb +9 -9
- data/test/tc/qae.rb +9 -8
- data/test/tc/qae_riovar.rb +9 -8
- data/test/tc/records.rb +3 -2
- data/test/tc/rename.rb +4 -4
- data/test/tc/riorl.rb +19 -19
- data/test/tc/rlparts.ans.yml +1161 -0
- data/test/tc/splitlines.rb +1 -1
- data/test/tc/splitpath.rb +9 -8
- data/test/tc/strio.rb +73 -0
- data/test/tc/symlink.rb +3 -2
- data/test/tc/symlink0.rb +4 -3
- data/test/tc/symlink1.rb +4 -3
- data/test/tc/temp.rb +40 -26
- data/test/tc/tempdir.rb +12 -12
- data/test/tc/testcase.rb +45 -31
- data/test/tc/tonl.rb +0 -1
- data/test/tc/truncate.rb +111 -13
- data/test/tc/yaml.rb +1 -1
- data/test/test_suite.rb +31 -0
- data/test/tests.rb +35 -0
- data/test/tsuite.rb +19 -0
- data/test/uriref/tc/basic.rb +171 -0
- data/test/uriref/tc/build.rb +30 -0
- data/test/uriref/tc/empty.rb +13 -0
- data/test/uriref/tc/route.rb +72 -0
- data/test/uriref/tests.rb +16 -0
- metadata +356 -424
- data/ChangeLog +0 -3122
- data/VERSION +0 -1
- data/build_doc.rb +0 -94
- data/doc/ANNOUNCE +0 -157
- data/doc/RELEASE_NOTES +0 -308
- data/doc/RIOIS +0 -215
- data/doc/generators/template/html/rio.css +0 -428
- data/doc/generators/template/html/rio.rb +0 -523
- data/doc/generators/template/html/ugly.rb +0 -132
- data/doc/pkg_def.rb +0 -60
- data/doc/rdoc/classes/Kernel.html +0 -133
- data/doc/rdoc/classes/Kernel.src/M000234.html +0 -18
- data/doc/rdoc/classes/RIO.html +0 -625
- data/doc/rdoc/classes/RIO.src/M000001.html +0 -18
- data/doc/rdoc/classes/RIO.src/M000002.html +0 -18
- data/doc/rdoc/classes/RIO.src/M000003.html +0 -18
- data/doc/rdoc/classes/RIO/Doc.html +0 -149
- data/doc/rdoc/classes/RIO/Doc/EXAMPLES.html +0 -432
- data/doc/rdoc/classes/RIO/Doc/HOWTO.html +0 -1084
- data/doc/rdoc/classes/RIO/Doc/INDEX.html +0 -368
- data/doc/rdoc/classes/RIO/Doc/INTRO.html +0 -1529
- data/doc/rdoc/classes/RIO/Doc/OPTIONAL.html +0 -221
- data/doc/rdoc/classes/RIO/Doc/SYNOPSIS.html +0 -336
- data/doc/rdoc/classes/RIO/IF.html +0 -165
- data/doc/rdoc/classes/RIO/IF/CSV.html +0 -203
- data/doc/rdoc/classes/RIO/IF/CSV.src/M000129.html +0 -19
- data/doc/rdoc/classes/RIO/IF/CSV.src/M000130.html +0 -16
- data/doc/rdoc/classes/RIO/IF/CSV.src/M000131.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Dir.html +0 -343
- data/doc/rdoc/classes/RIO/IF/Dir.src/M000045.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Dir.src/M000046.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Dir.src/M000047.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Dir.src/M000048.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Dir.src/M000049.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Dir.src/M000050.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Dir.src/M000051.html +0 -16
- data/doc/rdoc/classes/RIO/IF/File.html +0 -223
- data/doc/rdoc/classes/RIO/IF/File.src/M000216.html +0 -16
- data/doc/rdoc/classes/RIO/IF/File.src/M000217.html +0 -16
- data/doc/rdoc/classes/RIO/IF/File.src/M000218.html +0 -16
- data/doc/rdoc/classes/RIO/IF/File.src/M000219.html +0 -16
- data/doc/rdoc/classes/RIO/IF/FileOrDir.html +0 -572
- data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000117.html +0 -16
- data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000118.html +0 -16
- data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000119.html +0 -16
- data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000120.html +0 -16
- data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000121.html +0 -16
- data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000122.html +0 -16
- data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000123.html +0 -16
- data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000124.html +0 -16
- data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000125.html +0 -16
- data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000126.html +0 -16
- data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000127.html +0 -16
- data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000128.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.html +0 -1376
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000052.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000053.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000054.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000055.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000056.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000057.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000058.html +0 -21
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000059.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000060.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000061.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000062.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000063.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000064.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000065.html +0 -21
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000066.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000067.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000068.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000069.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Grande.src/M000070.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeEntry.html +0 -810
- data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000107.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000108.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000109.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000110.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000111.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000112.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000113.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000114.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000115.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000116.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.html +0 -1513
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000071.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000072.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000073.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000074.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000075.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000076.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000077.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000078.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000079.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000080.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000081.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000082.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000083.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000084.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000085.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000086.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000087.html +0 -19
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000088.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000089.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000090.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000091.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000092.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000093.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000094.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000095.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000096.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000097.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000098.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000099.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000100.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000101.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000102.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000103.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000104.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000105.html +0 -16
- data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000106.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.html +0 -999
- data/doc/rdoc/classes/RIO/IF/Path.src/M000132.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000133.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000134.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000135.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000136.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000137.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000138.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000139.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000140.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000141.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000142.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000143.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000144.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000145.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000146.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000147.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000148.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000149.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000150.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000151.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000152.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000153.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000154.html +0 -18
- data/doc/rdoc/classes/RIO/IF/Path.src/M000155.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000156.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000157.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000158.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000159.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000160.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000161.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000162.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Path.src/M000163.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.html +0 -1416
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000004.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000005.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000006.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000007.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000008.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000009.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000010.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000011.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000012.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000013.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000014.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000015.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000016.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000017.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000018.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000019.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000020.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000021.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000022.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000023.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000024.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000025.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000026.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000027.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000028.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000029.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000030.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000031.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000032.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000033.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000034.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000035.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000036.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000037.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000038.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000039.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000040.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000041.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000042.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000043.html +0 -16
- data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000044.html +0 -16
- data/doc/rdoc/classes/RIO/IF/String.html +0 -203
- data/doc/rdoc/classes/RIO/IF/String.src/M000213.html +0 -16
- data/doc/rdoc/classes/RIO/IF/String.src/M000214.html +0 -16
- data/doc/rdoc/classes/RIO/IF/String.src/M000215.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.html +0 -990
- data/doc/rdoc/classes/RIO/IF/Test.src/M000177.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000178.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000179.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000180.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000181.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000182.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000183.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000184.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000185.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000186.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000187.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000188.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000189.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000190.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000191.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000192.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000193.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000194.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000195.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000196.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000197.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000198.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000199.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000200.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000201.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000202.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000203.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000204.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000205.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000206.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000207.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000208.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000209.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000210.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000211.html +0 -16
- data/doc/rdoc/classes/RIO/IF/Test.src/M000212.html +0 -16
- data/doc/rdoc/classes/RIO/IF/YAML.html +0 -517
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000164.html +0 -19
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000165.html +0 -16
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000166.html +0 -16
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000167.html +0 -16
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000168.html +0 -16
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000169.html +0 -16
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000170.html +0 -16
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000171.html +0 -16
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000172.html +0 -16
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000173.html +0 -16
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000174.html +0 -16
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000175.html +0 -16
- data/doc/rdoc/classes/RIO/IF/YAML.src/M000176.html +0 -16
- data/doc/rdoc/classes/RIO/Rio.html +0 -508
- data/doc/rdoc/classes/RIO/Rio.src/M000220.html +0 -18
- data/doc/rdoc/classes/RIO/Rio.src/M000221.html +0 -20
- data/doc/rdoc/classes/RIO/Rio.src/M000222.html +0 -27
- data/doc/rdoc/classes/RIO/Rio.src/M000223.html +0 -16
- data/doc/rdoc/classes/RIO/Rio.src/M000225.html +0 -19
- data/doc/rdoc/classes/RIO/Rio.src/M000226.html +0 -20
- data/doc/rdoc/classes/RIO/Rio.src/M000227.html +0 -16
- data/doc/rdoc/classes/RIO/Rio.src/M000228.html +0 -16
- data/doc/rdoc/classes/RIO/Rio.src/M000229.html +0 -16
- data/doc/rdoc/classes/RIO/Rio.src/M000230.html +0 -16
- data/doc/rdoc/classes/RIO/Rio.src/M000231.html +0 -16
- data/doc/rdoc/classes/RIO/Rio.src/M000232.html +0 -16
- data/doc/rdoc/classes/RIO/Rio.src/M000233.html +0 -16
- data/doc/rdoc/created.rid +0 -1
- data/doc/rdoc/files/README.html +0 -232
- data/doc/rdoc/files/lib/rio/constructor_rb.html +0 -141
- data/doc/rdoc/files/lib/rio/doc/EXAMPLES_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/doc/HOWTO_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/doc/INDEX_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/doc/INTRO_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/doc/OPTIONAL_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/doc/SYNOPSIS_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/basic_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/csv_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/dir_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/file_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/fileordir_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/grande_entry_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/grande_rb.html +0 -141
- data/doc/rdoc/files/lib/rio/if/grande_stream_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/internal_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/path_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/rubyio_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/string_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/temp_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/test_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/if/yaml_rb.html +0 -134
- data/doc/rdoc/files/lib/rio/kernel_rb.html +0 -142
- data/doc/rdoc/files/lib/rio_rb.html +0 -153
- data/doc/rdoc/fr_class_index.html +0 -49
- data/doc/rdoc/fr_file_index.html +0 -51
- data/doc/rdoc/fr_method_index.html +0 -260
- data/doc/rdoc/index.html +0 -30
- data/doc/rdoc/rdoc-style.css +0 -428
- data/doc/rfc1738.txt +0 -1403
- data/doc/rfc959.txt +0 -3933
- data/ex/catcsv.rb +0 -64
- data/ex/colx.rb +0 -8
- data/ex/findinruby +0 -15
- data/ex/findruby +0 -14
- data/ex/passwd_report.rb +0 -8
- data/ex/prompt.rb +0 -25
- data/ex/rgb.txt.gz +0 -0
- data/ex/riocat +0 -42
- data/ex/riogunzip +0 -31
- data/ex/riogzip +0 -24
- data/ex/rioprompt.rb +0 -10
- data/ex/targz2zip +0 -17
- data/ex/tonl +0 -10
- data/setup.rb +0 -1360
- data/test/ftp/all.rb +0 -9
- data/test/ftp/anon_copy_data.rb +0 -36
- data/test/ftp/anon_misc.rb +0 -124
- data/test/ftp/anon_read.rb +0 -105
- data/test/ftp/anon_special.rb +0 -68
- data/test/ftp/anon_write.rb +0 -70
- data/test/ftp/ftp2ftp.rb +0 -51
- data/test/tc/abs.rb +0 -355
data/lib/rio/doc/OPTIONAL.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#--
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2005
|
|
2
|
+
# ===========================================================================
|
|
3
|
+
# Copyright (c) 2005-2012 Christopher Kleckner
|
|
4
4
|
# All rights reserved
|
|
5
5
|
#
|
|
6
6
|
# This file is part of the Rio library for ruby.
|
|
@@ -18,113 +18,87 @@
|
|
|
18
18
|
# You should have received a copy of the GNU General Public License
|
|
19
19
|
# along with Rio; if not, write to the Free Software
|
|
20
20
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
-
#
|
|
21
|
+
# ===========================================================================
|
|
22
22
|
#++
|
|
23
23
|
#
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
# from the distribution directory.
|
|
24
|
+
|
|
25
|
+
##
|
|
27
26
|
#
|
|
28
|
-
#
|
|
29
|
-
# * RIO::Doc::SYNOPSIS
|
|
27
|
+
# Please read the following first:
|
|
30
28
|
# * RIO::Doc::INTRO
|
|
29
|
+
# * RIO::Doc::SYNOPSIS
|
|
31
30
|
# * RIO::Doc::HOWTO
|
|
32
|
-
# * RIO::Doc::EXAMPLES
|
|
33
31
|
# * RIO::Rio
|
|
34
32
|
#
|
|
33
|
+
# = Rio Optional Components
|
|
34
|
+
#
|
|
35
|
+
# This document describes various optional Rio components, that must be
|
|
36
|
+
# explicitly 'required' to be available. These are not included in
|
|
37
|
+
# rio.rb either because they change classes that should not be changed
|
|
38
|
+
# without the developers explicit permission, or because they are not of
|
|
39
|
+
# general enough interest.
|
|
40
|
+
#
|
|
41
|
+
# == to_rio
|
|
42
|
+
#
|
|
43
|
+
# This option comprises 4 options
|
|
44
|
+
# * Object#to_rio
|
|
45
|
+
#
|
|
46
|
+
# require 'rio/to_rio/object'
|
|
47
|
+
# ario = any_object.to_rio
|
|
48
|
+
#
|
|
49
|
+
# This option adds a to_rio method to the Object class which calls the
|
|
50
|
+
# object's #to_s method and passes it to the Rio constructor. Like:
|
|
51
|
+
#
|
|
52
|
+
# ario = rio(any_object.to_s)
|
|
53
|
+
#
|
|
54
|
+
# * String#to_rio and String#/
|
|
55
|
+
#
|
|
56
|
+
# require 'rio/to_rio/string'
|
|
57
|
+
# ario = "a/file/represented/as/a/string".to_rio
|
|
58
|
+
# ario = 'strings'/'used'/'with'/'subdirectory'/'operator'
|
|
59
|
+
#
|
|
60
|
+
# This option adds a to_rio method and the subdirectory operator '/'
|
|
61
|
+
# to the String class. Note that due to operator precedance one must
|
|
62
|
+
# use parenthesis when calling a method directly on a Rio created
|
|
63
|
+
# using the subdirectory operator with Strings
|
|
64
|
+
#
|
|
65
|
+
# array_of_first_ten_lines = ('adir'/'asubdir'/'afile').lines[0...10]
|
|
66
|
+
#
|
|
67
|
+
# * Array#to_rio
|
|
68
|
+
#
|
|
69
|
+
# require 'rio/to_rio/array'
|
|
70
|
+
# ario = %w[an array of path components].to_rio #=> rio('an/array/of/path/components')
|
|
71
|
+
#
|
|
72
|
+
# This option adds a to_rio method to the Array class. This behaves as
|
|
73
|
+
# if
|
|
74
|
+
# rio(%w[an array of path components]) had been called.
|
|
75
|
+
#
|
|
76
|
+
# * require 'rio/to_rio/all' will make all of the above available.
|
|
77
|
+
#
|
|
78
|
+
# == RIO.ARGV
|
|
79
|
+
#
|
|
80
|
+
# require 'rio/argv'
|
|
81
|
+
# arguments_as_rios = RIO.ARGV
|
|
82
|
+
#
|
|
83
|
+
# This option provides a function which converts each element of ruby's
|
|
84
|
+
# ARGV into a Rio. Useful when writing a program which takes a list of
|
|
85
|
+
# files as its arguments
|
|
86
|
+
#
|
|
87
|
+
# == RIO.popen3
|
|
88
|
+
#
|
|
89
|
+
# require 'rio/open3'
|
|
90
|
+
# input,output,errput = RIO.popen3
|
|
91
|
+
# RIO.popen3 { |input,output,errput| ... }
|
|
92
|
+
#
|
|
93
|
+
# This options provides a wrapper around the Open3#popen3 call with the
|
|
94
|
+
# IO objects converted to Rios
|
|
95
|
+
#
|
|
96
|
+
# == RIO.prompt
|
|
97
|
+
#
|
|
98
|
+
# require 'rio/prompt'
|
|
99
|
+
# the_anwser = RIO.prompt('What is the answer? ')
|
|
100
|
+
#
|
|
101
|
+
# This option provides a module function to prompt for input.
|
|
35
102
|
|
|
36
|
-
|
|
37
|
-
module RIO
|
|
38
|
-
module Doc #:doc:
|
|
39
|
-
=begin rdoc
|
|
40
|
-
|
|
41
|
-
= Rio - Ruby I/O Facilitator
|
|
42
|
-
|
|
43
|
-
Rio is a facade for most of the standard ruby classes that deal with I/O;
|
|
44
|
-
providing a simple, intuitive, succinct interface to the functionality
|
|
45
|
-
provided by IO, File, Dir, Pathname, FileUtils, Tempfile, StringIO, OpenURI
|
|
46
|
-
and others. Rio also provides an application level interface which allows many
|
|
47
|
-
common I/O idioms to be expressed succinctly.
|
|
48
|
-
|
|
49
|
-
Please read the following first:
|
|
50
|
-
* RIO::Doc::INTRO
|
|
51
|
-
* RIO::Doc::SYNOPSIS
|
|
52
|
-
* RIO::Doc::HOWTO
|
|
53
|
-
* RIO::Rio
|
|
54
|
-
|
|
55
|
-
= Rio Optional Components
|
|
56
|
-
|
|
57
|
-
This document describes various optional Rio components, that must be
|
|
58
|
-
explicitly 'required' to be available. These are not included in
|
|
59
|
-
rio.rb either because they change classes that should not be changed
|
|
60
|
-
without the developers explicit permission, or because they are not of
|
|
61
|
-
general enough interest.
|
|
62
|
-
|
|
63
|
-
== to_rio
|
|
64
|
-
|
|
65
|
-
This option comprises 4 options
|
|
66
|
-
* Object#to_rio
|
|
67
|
-
|
|
68
|
-
require 'rio/to_rio/object'
|
|
69
|
-
ario = any_object.to_rio
|
|
70
|
-
|
|
71
|
-
This option adds a to_rio method to the Object class which calls the
|
|
72
|
-
object's #to_s method and passes it to the Rio constructor. Like:
|
|
73
|
-
|
|
74
|
-
ario = rio(any_object.to_s)
|
|
75
|
-
|
|
76
|
-
* String#to_rio and String#/
|
|
77
|
-
|
|
78
|
-
require 'rio/to_rio/string'
|
|
79
|
-
ario = "a/file/represented/as/a/string".to_rio
|
|
80
|
-
ario = 'strings'/'used'/'with'/'subdirectory'/'operator'
|
|
81
|
-
|
|
82
|
-
This option adds a to_rio method and the subdirectory operator '/'
|
|
83
|
-
to the String class. Note that due to operator precedance one must
|
|
84
|
-
use parenthesis when calling a method directly on a Rio created
|
|
85
|
-
using the subdirectory operator with Strings
|
|
86
|
-
|
|
87
|
-
array_of_first_ten_lines = ('adir'/'asubdir'/'afile').lines[0...10]
|
|
88
|
-
|
|
89
|
-
* Array#to_rio
|
|
90
|
-
|
|
91
|
-
require 'rio/to_rio/array'
|
|
92
|
-
ario = %w[an array of path components].to_rio #=> rio('an/array/of/path/components')
|
|
93
|
-
|
|
94
|
-
This option adds a to_rio method to the Array class. This behaves as
|
|
95
|
-
if
|
|
96
|
-
rio(%w[an array of path components]) had been called.
|
|
97
|
-
|
|
98
|
-
* require 'rio/to_rio/all' will make all of the above available.
|
|
99
|
-
|
|
100
|
-
== RIO.ARGV
|
|
101
|
-
|
|
102
|
-
require 'rio/argv'
|
|
103
|
-
arguments_as_rios = RIO.ARGV
|
|
104
|
-
|
|
105
|
-
This option provides a function which converts each element of ruby's
|
|
106
|
-
ARGV into a Rio. Useful when writing a program which takes a list of
|
|
107
|
-
files as its arguments
|
|
108
|
-
|
|
109
|
-
== RIO.popen3
|
|
110
|
-
|
|
111
|
-
require 'rio/open3'
|
|
112
|
-
input,output,errput = RIO.popen3
|
|
113
|
-
RIO.popen3 { |input,output,errput| ... }
|
|
114
|
-
|
|
115
|
-
This options provides a wrapper around the Open3#popen3 call with the
|
|
116
|
-
IO objects converted to Rios
|
|
117
|
-
|
|
118
|
-
== RIO.prompt
|
|
119
|
-
|
|
120
|
-
require 'rio/prompt'
|
|
121
|
-
the_anwser = RIO.prompt('What is the answer? ')
|
|
122
|
-
|
|
123
|
-
This option provides a module function to prompt for input.
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
=end
|
|
127
|
-
module OPTIONAL
|
|
128
|
-
end
|
|
129
|
-
end
|
|
103
|
+
module RIO::Doc::OPTIONAL
|
|
130
104
|
end
|
data/lib/rio/doc/SYNOPSIS.rb
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#--
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2005
|
|
2
|
+
# ===========================================================================
|
|
3
|
+
# Copyright (c) 2005-2012 Christopher Kleckner
|
|
4
4
|
# All rights reserved
|
|
5
5
|
#
|
|
6
6
|
# This file is part of the Rio library for ruby.
|
|
@@ -18,26 +18,15 @@
|
|
|
18
18
|
# You should have received a copy of the GNU General Public License
|
|
19
19
|
# along with Rio; if not, write to the Free Software
|
|
20
20
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
-
#
|
|
21
|
+
# ===========================================================================
|
|
22
22
|
#++
|
|
23
23
|
#
|
|
24
|
-
# To create the documentation for Rio run the command
|
|
25
|
-
# ruby build_doc.rb
|
|
26
|
-
# from the distribution directory.
|
|
27
|
-
#
|
|
28
|
-
# Suggested Reading
|
|
29
|
-
# * RIO::Doc::SYNOPSIS
|
|
30
|
-
# * RIO::Doc::INTRO
|
|
31
|
-
# * RIO::Doc::HOWTO
|
|
32
|
-
# * RIO::Doc::EXAMPLES
|
|
33
|
-
# * RIO::Rio
|
|
34
|
-
#
|
|
35
24
|
|
|
36
25
|
|
|
37
26
|
# :title: Rio
|
|
38
27
|
|
|
39
28
|
module RIO
|
|
40
|
-
# Copyright (c) 2005
|
|
29
|
+
# Copyright (c) 2005-2012 Christopher Kleckner.
|
|
41
30
|
# All rights reserved
|
|
42
31
|
#
|
|
43
32
|
# This file is part of the Rio library for ruby.
|
|
@@ -46,137 +35,127 @@ module RIO
|
|
|
46
35
|
# the Free Software Foundation; either version 2 of the License, or
|
|
47
36
|
# (at your option) any later version.
|
|
48
37
|
#
|
|
49
|
-
module Doc #:doc:
|
|
50
|
-
=begin rdoc
|
|
51
|
-
|
|
52
|
-
= Rio - Ruby I/O Facilitator
|
|
53
|
-
|
|
54
|
-
fa-cil-i-tate: To make easy or easier.
|
|
55
|
-
|
|
56
|
-
Rio is a facade for most of the standard ruby classes that deal with I/O;
|
|
57
|
-
providing a simple, intuitive, succinct interface to the functionality
|
|
58
|
-
provided by IO, File, Dir, Pathname, FileUtils, Tempfile, StringIO, OpenURI
|
|
59
|
-
and others. Rio also provides an application level interface which allows many
|
|
60
|
-
common I/O idioms to be expressed succinctly.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
== SYNOPSIS
|
|
64
|
-
|
|
65
|
-
For the following assume:
|
|
66
|
-
astring = ""
|
|
67
|
-
anarray = []
|
|
68
|
-
|
|
69
|
-
Iterate over the .rb files in a directory.
|
|
70
|
-
rio('adir').files('*.rb') { |entrio| ... }
|
|
71
|
-
|
|
72
|
-
Return an array of the .rb files in a directory.
|
|
73
|
-
rio('adir').files['*.rb']
|
|
74
|
-
|
|
75
|
-
Copy the .rb files in a directory.to another directory.
|
|
76
|
-
rio('adir').files('*.rb') > rio('another_directory')
|
|
77
|
-
|
|
78
|
-
Iterate over the .rb files in a directory and its subdirectories.
|
|
79
|
-
rio('adir').all.files('*.rb') { |entrio| ... }
|
|
80
|
-
|
|
81
|
-
Return an array of the .rb files in a directory and its subdirectories.
|
|
82
|
-
rio('adir').all.files['*.rb']
|
|
83
|
-
|
|
84
|
-
Copy or append a file to a string
|
|
85
|
-
rio('afile') > astring # copy
|
|
86
|
-
rio('afile') >> astring # append
|
|
87
|
-
|
|
88
|
-
Copy or append a string to a file
|
|
89
|
-
rio('afile') < astring # copy
|
|
90
|
-
rio('afile') << astring # append
|
|
91
|
-
|
|
92
|
-
Copy or append the lines of a file to an array
|
|
93
|
-
rio('afile') > anarray
|
|
94
|
-
rio('afile') >> anarray
|
|
95
|
-
|
|
96
|
-
Copy or append a file to another file
|
|
97
|
-
rio('afile') > rio('another_file')
|
|
98
|
-
rio('afile') >> rio('another_file')
|
|
99
|
-
|
|
100
|
-
Copy a file to a directory
|
|
101
|
-
rio('adir') << rio('afile')
|
|
102
|
-
|
|
103
|
-
Copy a directory to another directory
|
|
104
|
-
rio('adir') >> rio('another_directory')
|
|
105
|
-
|
|
106
|
-
Copy a web-page to a file
|
|
107
|
-
rio('http://rubydoc.org/') > rio('afile')
|
|
108
|
-
|
|
109
|
-
Read a web-page into a string
|
|
110
|
-
astring = rio('http://rubydoc.org/').read
|
|
111
|
-
|
|
112
|
-
Ways to get the chomped lines of a file into an array
|
|
113
|
-
anarray = rio('afile').chomp[] # subscript operator
|
|
114
|
-
rio('afile').chomp > anarray # copy-to operator
|
|
115
|
-
anarray = rio('afile').chomp.to_a # to_a
|
|
116
|
-
anarray = rio('afile').chomp.readlines # IO#readlines
|
|
117
|
-
|
|
118
|
-
Iterate over selected lines of a file
|
|
119
|
-
rio('adir').lines(0..3) { |aline| ... } # a range of lines
|
|
120
|
-
rio('adir').lines(/re/) { |aline| ... } # by regular expression
|
|
121
|
-
rio('adir').lines(0..3,/re/) { |aline| ... } # or both
|
|
122
|
-
|
|
123
|
-
Return selected lines of a file as an array
|
|
124
|
-
rio('adir').lines[0..3] # a range of lines
|
|
125
|
-
rio('adir').lines[/re/] # by regular expression
|
|
126
|
-
rio('adir').lines[0..3,/re/] # or both
|
|
127
|
-
|
|
128
|
-
Iterate over selected chomped lines of a file
|
|
129
|
-
rio('adir').chomp.lines(0..3) { |aline| ... } # a range of lines
|
|
130
|
-
rio('adir').chomp.lines(/re/) { |aline| ... } # by regular expression
|
|
131
|
-
|
|
132
|
-
Return selected chomped lines of a file as an array
|
|
133
|
-
rio('adir').chomp[0..3] # a range of lines
|
|
134
|
-
rio('adir').chomp[/re/] # by regular expression
|
|
135
|
-
|
|
136
|
-
Copy a gzipped file un-gzipping it
|
|
137
|
-
rio('afile.gz').gzip > rio('afile')
|
|
138
|
-
|
|
139
|
-
Copy a plain file, gzipping it
|
|
140
|
-
rio('afile.gz').gzip < rio('afile')
|
|
141
|
-
|
|
142
|
-
Copy a file from a ftp server into a local file un-gzipping it
|
|
143
|
-
rio('ftp://host/afile.gz').gzip > rio('afile')
|
|
144
|
-
|
|
145
|
-
Return an array of .rb files excluding symlinks to .rb files
|
|
146
|
-
rio('adir').files('*.rb').skip[:symlink?]
|
|
147
|
-
|
|
148
|
-
Put the first 10 chomped lines of a gzipped file into an array
|
|
149
|
-
anarray = rio('afile.gz').chomp.gzip[0...10]
|
|
150
|
-
|
|
151
|
-
Copy lines 0 and 3 thru 5 of a gzipped file on an ftp server to stdout
|
|
152
|
-
rio('ftp://host/afile.gz').gzip.lines(0,3..5) > ?-
|
|
153
|
-
|
|
154
|
-
Return an array of files in a directory and its subdirectories, without descending into .svn directories.
|
|
155
|
-
rio('adir').norecurse(/^\.svn$/).files[]
|
|
156
|
-
|
|
157
|
-
Iterate over the non-empty, non-comment chomped lines of a file
|
|
158
|
-
rio('afile').chomp.skip(:empty?,/^\s*#/) { |line| ... }
|
|
159
|
-
|
|
160
|
-
Copy the output of th ps command into an array, skipping the header line and the ps command entry
|
|
161
|
-
rio(?-,'ps -a').skiplines(0,/ps$/) > anarray
|
|
162
|
-
|
|
163
|
-
Prompt for input and return what was typed
|
|
164
|
-
ans = rio(?-).print("Type Something: ").chomp.gets
|
|
165
38
|
|
|
166
|
-
|
|
167
|
-
rio('adir').rename.all.files('*.htm') do |htmfile|
|
|
168
|
-
htmfile.extname = '.html'
|
|
169
|
-
end
|
|
170
|
-
|
|
171
|
-
=== SUGGESTED READING
|
|
39
|
+
module Doc #:doc:
|
|
172
40
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
41
|
+
##
|
|
42
|
+
#
|
|
43
|
+
# == SYNOPSIS
|
|
44
|
+
#
|
|
45
|
+
# For the following assume:
|
|
46
|
+
# astring = ""
|
|
47
|
+
# anarray = []
|
|
48
|
+
#
|
|
49
|
+
# Iterate over the .rb files in a directory.
|
|
50
|
+
# rio('adir').files('*.rb') { |entrio| ... }
|
|
51
|
+
#
|
|
52
|
+
# Return an array of the .rb files in a directory.
|
|
53
|
+
# rio('adir').files['*.rb']
|
|
54
|
+
#
|
|
55
|
+
# Copy the .rb files in a directory.to another directory.
|
|
56
|
+
# rio('adir').files('*.rb') > rio('another_directory')
|
|
57
|
+
#
|
|
58
|
+
# Iterate over the .rb files in a directory and its subdirectories.
|
|
59
|
+
# rio('adir').all.files('*.rb') { |entrio| ... }
|
|
60
|
+
#
|
|
61
|
+
# Return an array of the .rb files in a directory and its subdirectories.
|
|
62
|
+
# rio('adir').all.files['*.rb']
|
|
63
|
+
#
|
|
64
|
+
# Copy or append a file to a string
|
|
65
|
+
# rio('afile') > astring # copy
|
|
66
|
+
# rio('afile') >> astring # append
|
|
67
|
+
#
|
|
68
|
+
# Copy or append a string to a file
|
|
69
|
+
# rio('afile') < astring # copy
|
|
70
|
+
# rio('afile') << astring # append
|
|
71
|
+
#
|
|
72
|
+
# Copy or append the lines of a file to an array
|
|
73
|
+
# rio('afile') > anarray
|
|
74
|
+
# rio('afile') >> anarray
|
|
75
|
+
#
|
|
76
|
+
# Copy or append a file to another file
|
|
77
|
+
# rio('afile') > rio('another_file')
|
|
78
|
+
# rio('afile') >> rio('another_file')
|
|
79
|
+
#
|
|
80
|
+
# Copy a file to a directory
|
|
81
|
+
# rio('adir') << rio('afile')
|
|
82
|
+
#
|
|
83
|
+
# Copy a directory to another directory
|
|
84
|
+
# rio('adir') >> rio('another_directory')
|
|
85
|
+
#
|
|
86
|
+
# Copy a web-page to a file
|
|
87
|
+
# rio('http://rubydoc.org/') > rio('afile')
|
|
88
|
+
#
|
|
89
|
+
# Read a web-page into a string
|
|
90
|
+
# astring = rio('http://rubydoc.org/').read
|
|
91
|
+
#
|
|
92
|
+
# Ways to get the chomped lines of a file into an array
|
|
93
|
+
# anarray = rio('afile').chomp[] # subscript operator
|
|
94
|
+
# rio('afile').chomp > anarray # copy-to operator
|
|
95
|
+
# anarray = rio('afile').chomp.to_a # to_a
|
|
96
|
+
# anarray = rio('afile').chomp.readlines # IO#readlines
|
|
97
|
+
#
|
|
98
|
+
# Iterate over selected lines of a file
|
|
99
|
+
# rio('adir').lines(0..3) { |aline| ... } # a range of lines
|
|
100
|
+
# rio('adir').lines(/re/) { |aline| ... } # by regular expression
|
|
101
|
+
# rio('adir').lines(0..3,/re/) { |aline| ... } # or both
|
|
102
|
+
#
|
|
103
|
+
# Return selected lines of a file as an array
|
|
104
|
+
# rio('adir').lines[0..3] # a range of lines
|
|
105
|
+
# rio('adir').lines[/re/] # by regular expression
|
|
106
|
+
# rio('adir').lines[0..3,/re/] # or both
|
|
107
|
+
#
|
|
108
|
+
# Iterate over selected chomped lines of a file
|
|
109
|
+
# rio('adir').chomp.lines(0..3) { |aline| ... } # a range of lines
|
|
110
|
+
# rio('adir').chomp.lines(/re/) { |aline| ... } # by regular expression
|
|
111
|
+
#
|
|
112
|
+
# Return selected chomped lines of a file as an array
|
|
113
|
+
# rio('adir').chomp[0..3] # a range of lines
|
|
114
|
+
# rio('adir').chomp[/re/] # by regular expression
|
|
115
|
+
#
|
|
116
|
+
# Copy a gzipped file un-gzipping it
|
|
117
|
+
# rio('afile.gz').gzip > rio('afile')
|
|
118
|
+
#
|
|
119
|
+
# Copy a plain file, gzipping it
|
|
120
|
+
# rio('afile.gz').gzip < rio('afile')
|
|
121
|
+
#
|
|
122
|
+
# Copy a file from a ftp server into a local file un-gzipping it
|
|
123
|
+
# rio('ftp://host/afile.gz').gzip > rio('afile')
|
|
124
|
+
#
|
|
125
|
+
# Return an array of .rb files excluding symlinks to .rb files
|
|
126
|
+
# rio('adir').files('*.rb').skip[:symlink?]
|
|
127
|
+
#
|
|
128
|
+
# Put the first 10 chomped lines of a gzipped file into an array
|
|
129
|
+
# anarray = rio('afile.gz').chomp.gzip[0...10]
|
|
130
|
+
#
|
|
131
|
+
# Copy lines 0 and 3 thru 5 of a gzipped file on an ftp server to stdout
|
|
132
|
+
# rio('ftp://host/afile.gz').gzip.lines(0,3..5) > ?-
|
|
133
|
+
#
|
|
134
|
+
# Return an array of files in a directory and its subdirectories, without descending into .svn directories.
|
|
135
|
+
# rio('adir').norecurse(/^\.svn$/).files[]
|
|
136
|
+
#
|
|
137
|
+
# Iterate over the non-empty, non-comment chomped lines of a file
|
|
138
|
+
# rio('afile').chomp.skip(:empty?,/^\s*#/) { |line| ... }
|
|
139
|
+
#
|
|
140
|
+
# Copy the output of th ps command into an array, skipping the header line and the ps command entry
|
|
141
|
+
# rio(?-,'ps -a').skiplines(0,/ps$/) > anarray
|
|
142
|
+
#
|
|
143
|
+
# Prompt for input and return what was typed
|
|
144
|
+
# ans = rio(?-).print("Type Something: ").chomp.gets
|
|
145
|
+
#
|
|
146
|
+
# Change the extension of all .htm files in a directory and its subdirectories to .html
|
|
147
|
+
# rio('adir').rename.all.files('*.htm') do |htmfile|
|
|
148
|
+
# htmfile.extname = '.html'
|
|
149
|
+
# end
|
|
150
|
+
#
|
|
151
|
+
# === SUGGESTED READING
|
|
152
|
+
#
|
|
153
|
+
# * RIO::Doc::INTRO
|
|
154
|
+
# * RIO::Doc::HOWTO
|
|
155
|
+
# * RIO::Rio
|
|
156
|
+
# * RIO::Doc::EXAMPLES
|
|
157
|
+
# * RIO::Doc::OPTIONAL
|
|
178
158
|
|
|
179
|
-
=end
|
|
180
159
|
module SYNOPSIS #:doc:
|
|
181
160
|
end
|
|
182
161
|
end
|