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/if/csv.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,22 +18,9 @@
|
|
|
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
|
-
|
|
36
|
-
|
|
37
24
|
module RIO
|
|
38
25
|
module IF
|
|
39
26
|
module CSV
|
|
@@ -41,9 +28,9 @@ module RIO
|
|
|
41
28
|
#def dir() target.dir end
|
|
42
29
|
|
|
43
30
|
# Puts a Rio in CSV mode and sets the field and record separators.
|
|
44
|
-
# In csv mode selecting with IF::GrandeStream#records will cause each line
|
|
31
|
+
# In csv mode selecting with {#records}[rdoc-ref:IF::GrandeStream#records] will cause each line
|
|
45
32
|
# read to be parsed into a line with the CSV standard library.
|
|
46
|
-
# Specifying using IF::GrandeStream#lines to select will return unparsed strings
|
|
33
|
+
# Specifying using {#lines}[rdoc-ref:IF::GrandeStream#lines] to select will return unparsed strings
|
|
47
34
|
# as normal.
|
|
48
35
|
#
|
|
49
36
|
# # copy a csv file, changing the field separator
|
|
@@ -63,8 +50,8 @@ module RIO
|
|
|
63
50
|
# rio("afile.csv").csv.columns(5..7).skiplines[0]
|
|
64
51
|
#
|
|
65
52
|
# See RIO::Doc::INTRO for complete documentation on csv mode.
|
|
66
|
-
def csv(
|
|
67
|
-
target.csv(
|
|
53
|
+
def csv(*csv_args,&block)
|
|
54
|
+
target.csv(*csv_args,&block);
|
|
68
55
|
self
|
|
69
56
|
end
|
|
70
57
|
# Select columns from a CSV file. See #csv and RIO::Doc::INTRO.
|
data/lib/rio/if/dir.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
1
2
|
#--
|
|
2
|
-
#
|
|
3
|
-
# Copyright (c) 2005
|
|
3
|
+
# ===========================================================================
|
|
4
|
+
# Copyright (c) 2005-2012 Christopher Kleckner
|
|
4
5
|
# All rights reserved
|
|
5
6
|
#
|
|
6
7
|
# This file is part of the Rio library for ruby.
|
|
@@ -18,22 +19,9 @@
|
|
|
18
19
|
# You should have received a copy of the GNU General Public License
|
|
19
20
|
# along with Rio; if not, write to the Free Software
|
|
20
21
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
21
|
-
#
|
|
22
|
+
# ===========================================================================
|
|
22
23
|
#++
|
|
23
24
|
#
|
|
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
|
-
|
|
36
|
-
|
|
37
25
|
module RIO
|
|
38
26
|
module IF
|
|
39
27
|
module Dir
|
|
@@ -63,7 +51,7 @@ module RIO
|
|
|
63
51
|
#
|
|
64
52
|
# Uses ::Find#find to find all entries recursively for a Rio that
|
|
65
53
|
# specifies a directory. Note that there are other ways to recurse through
|
|
66
|
-
# a directory structure using a Rio. See IF::Grande#each and IF::GrandeEntry#all.
|
|
54
|
+
# a directory structure using a Rio. See {#each}[rdoc-ref:IF::Grande#each] and {#all}[rdoc-ref:IF::GrandeEntry#all].
|
|
67
55
|
#
|
|
68
56
|
# Calls the block passing a Rio for each entry found. The Rio inherits
|
|
69
57
|
# file attrubutes from the directory Rio.
|
|
@@ -85,7 +73,7 @@ module RIO
|
|
|
85
73
|
# Returns the filenames found by expanding the pattern given in string,
|
|
86
74
|
# either as an array or as parameters to the block. In both cases the filenames
|
|
87
75
|
# are expressed as a Rio.
|
|
88
|
-
# Note that this pattern is not a regexp (it�s closer to a shell glob).
|
|
76
|
+
# Note that this pattern is not a regexp (it�s closer to a shell glob).
|
|
89
77
|
# See File::fnmatch for details of file name matching and the meaning of the flags parameter.
|
|
90
78
|
#
|
|
91
79
|
#
|
|
@@ -95,10 +83,10 @@ module RIO
|
|
|
95
83
|
# Calls ::Dir#rmdir
|
|
96
84
|
#
|
|
97
85
|
# Deletes the directory referenced by the Rio.
|
|
98
|
-
# Raises a subclass of SystemCallError if the directory isn�t empty.
|
|
86
|
+
# Raises a subclass of SystemCallError if the directory isn�t empty.
|
|
99
87
|
# Returns the Rio. If the directory does not exist, just returns the Rio.
|
|
100
88
|
#
|
|
101
|
-
# See also #rmtree, IF::Grande#delete, IF::Grande#delete!
|
|
89
|
+
# See also #rmtree, {#delete}[rdoc-ref:IF::Grande#delete], {#delete!}[rdoc-ref:IF::Grande#delete!]
|
|
102
90
|
#
|
|
103
91
|
# rio('adir').rmdir # remove the empty directory 'adir'
|
|
104
92
|
#
|
|
@@ -112,7 +100,7 @@ module RIO
|
|
|
112
100
|
#
|
|
113
101
|
# If called with a block, behaves as if <tt>rmtree.each(&block)</tt> had been called
|
|
114
102
|
#
|
|
115
|
-
# See also IF::Grande#delete!
|
|
103
|
+
# See also {#delete!}[rdoc-ref:IF::Grande#delete!]
|
|
116
104
|
#
|
|
117
105
|
# rio('adir').rmtree # removes the directory 'adir' recursively
|
|
118
106
|
#
|
data/lib/rio/if/file.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,22 +18,9 @@
|
|
|
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
|
-
|
|
36
|
-
|
|
37
24
|
module RIO
|
|
38
25
|
module IF
|
|
39
26
|
module File
|
|
@@ -42,7 +29,7 @@ module RIO
|
|
|
42
29
|
#
|
|
43
30
|
# Deletes the referenced file, returning the Rio. Raises an exception on any error.
|
|
44
31
|
#
|
|
45
|
-
# See also IF::Grande#delete, IF::Grande#delete
|
|
32
|
+
# See also {#delete}[rdoc-ref:IF::Grande#delete], {#delete!}[rdoc-ref:IF::Grande#delete!], {#rmdir}[rdoc-ref:IF::Dir#rmdir].
|
|
46
33
|
def rm() target.rm(); self end
|
|
47
34
|
|
|
48
35
|
|
|
@@ -65,7 +52,7 @@ module RIO
|
|
|
65
52
|
# f.size() #=> 5
|
|
66
53
|
#
|
|
67
54
|
# If called with no arguments, truncates the Rio at the
|
|
68
|
-
# value returned by IF::FileOrDir#pos().
|
|
55
|
+
# value returned by {#pos}[rdoc-ref:IF::FileOrDir#pos]().
|
|
69
56
|
# f.read(2)
|
|
70
57
|
# f.truncate.size #=> 2
|
|
71
58
|
# f.contents #=> "12"
|
|
@@ -74,7 +61,7 @@ module RIO
|
|
|
74
61
|
#
|
|
75
62
|
def truncate(sz=pos()) target.truncate(sz); self end
|
|
76
63
|
|
|
77
|
-
# Calls IF::File#truncate(0)
|
|
64
|
+
# Calls {#truncate}[rdoc-ref:IF::File#truncate](0)
|
|
78
65
|
#
|
|
79
66
|
def clear() target.clear(); self end
|
|
80
67
|
|
data/lib/rio/if/fileordir.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,22 +18,9 @@
|
|
|
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
|
-
|
|
36
|
-
|
|
37
24
|
module RIO
|
|
38
25
|
module IF
|
|
39
26
|
module FileOrDir
|
|
@@ -41,18 +28,18 @@ module RIO
|
|
|
41
28
|
# undocumented
|
|
42
29
|
def open(m,*args,&block) target.open(m,*args,&block); self end
|
|
43
30
|
|
|
44
|
-
# Creates a symbolic link _dest_ which points to the Rio's IF::Path#fspath.
|
|
31
|
+
# Creates a symbolic link _dest_ which points to the Rio's {#fspath}[rdoc-ref:IF::Path#fspath].
|
|
45
32
|
# Raises a NotImplementedError exception on platforms that do not support symbolic links.
|
|
46
33
|
# _dest_ may be a Rio, a String, or anything that will create an appropriate Rio
|
|
47
34
|
# when passed to Rio#new .
|
|
48
35
|
# If _dest_ already exists and is a directory, creates a symbolic link in the _dest_ directory,
|
|
49
|
-
# named with the name returned by IF::Path#filename.
|
|
36
|
+
# named with the name returned by {#filename}[rdoc-ref:IF::Path#filename].
|
|
50
37
|
# If _dest_ already exists and it is not a directory, raises Errno::EEXIST.
|
|
51
38
|
#
|
|
52
39
|
# Returns the Rio (not the symlink).
|
|
53
40
|
#
|
|
54
|
-
# IF::FileOrDir#symlink differs from File#symlink when the Rio or the _dest_ path has directory information.
|
|
55
|
-
# In this case IF::FileOrDir#symlink creates a symlink that actually refers to the Rio's location
|
|
41
|
+
# {#symlink}[rdoc-ref:IF::FileOrDir#symlink] differs from File#symlink when the Rio or the _dest_ path has directory information.
|
|
42
|
+
# In this case {#symlink}[rdoc-ref:IF::FileOrDir#symlink] creates a symlink that actually refers to the Rio's location
|
|
56
43
|
# from the perspective of the link's location.
|
|
57
44
|
#
|
|
58
45
|
# For example: Given an existing file 'adir/afile' and a _dest_ of 'adir/alink'
|
|
@@ -90,8 +77,8 @@ module RIO
|
|
|
90
77
|
# # the old path
|
|
91
78
|
# ===== Rename Mode
|
|
92
79
|
#
|
|
93
|
-
# In rename mode, changes to a Rio's path using IF::Path#dirname
|
|
94
|
-
# IF::Path#basename
|
|
80
|
+
# In rename mode, changes to a Rio's path using {#dirname=}[rdoc-ref:IF::Path#dirname=], {#filename=}[rdoc-ref:IF::Path#filename=],
|
|
81
|
+
# {#basename=}[rdoc-ref:IF::Path#basename=], and {#extname=}[rdoc-ref:IF::Path#extname=] also cause the object on the filesystem
|
|
95
82
|
# to be renamed.
|
|
96
83
|
#
|
|
97
84
|
# Change the extension of all'.cpp' files in 'adir' to '.cxx'
|
|
@@ -104,12 +91,12 @@ module RIO
|
|
|
104
91
|
# gzfile.ext('.tar.gz').ext = '.tgz'
|
|
105
92
|
# end
|
|
106
93
|
#
|
|
107
|
-
# See IF::Path#dirname
|
|
94
|
+
# See {#dirname=}[rdoc-ref:IF::Path#dirname=], {#filename=}[rdoc-ref:IF::Path#filename=], {#basename=}[rdoc-ref:IF::Path#basename=], and {#extname=}[rdoc-ref:IF::Path#extname=]
|
|
108
95
|
#
|
|
109
96
|
def rename(*args,&block) target.rename(*args,&block); self end
|
|
110
97
|
|
|
111
98
|
|
|
112
|
-
# Behaves like IF::FileOrDir#rename, but also changes the calling Rio to
|
|
99
|
+
# Behaves like {#rename}[rdoc-ref:IF::FileOrDir#rename], but also changes the calling Rio to
|
|
113
100
|
# refer to the renamed path
|
|
114
101
|
def rename!(*args,&block) target.rename!(*args,&block); self end
|
|
115
102
|
|
|
@@ -188,7 +175,7 @@ module RIO
|
|
|
188
175
|
# For directories calls Dir#seek
|
|
189
176
|
# ario.seek( integer ) => ario
|
|
190
177
|
# Seeks to a particular location in _ario_. _integer_ must be a value
|
|
191
|
-
# returned by IF::FileOrDir#tell.
|
|
178
|
+
# returned by {#tell}[rdoc-ref:IF::FileOrDir#tell].
|
|
192
179
|
#
|
|
193
180
|
# d = rio("testdir") #=> #<RIO::Rio:0x401b3c40>
|
|
194
181
|
# d.read #=> rio(".")
|
|
@@ -217,7 +204,7 @@ module RIO
|
|
|
217
204
|
# For directories calls Dir#pos
|
|
218
205
|
# ario.pos => integer
|
|
219
206
|
# ario.tell => integer
|
|
220
|
-
# Returns the current position in _dir_. See also IF::FileOrDir#seek.
|
|
207
|
+
# Returns the current position in _dir_. See also {#seek}[rdoc-ref:IF::FileOrDir#seek].
|
|
221
208
|
#
|
|
222
209
|
# d = rio("testdir")
|
|
223
210
|
# d.pos #=> 0
|
|
@@ -226,7 +213,7 @@ module RIO
|
|
|
226
213
|
#
|
|
227
214
|
def pos() target.pos end
|
|
228
215
|
|
|
229
|
-
# See IF::FileOrDir#pos
|
|
216
|
+
# See {#pos}[rdoc-ref:IF::FileOrDir#pos]
|
|
230
217
|
def tell() target.tell end
|
|
231
218
|
|
|
232
219
|
# For directories calls Dir#pos=, otherwise calls IO#pos=
|
|
@@ -241,8 +228,10 @@ module RIO
|
|
|
241
228
|
#
|
|
242
229
|
# For directories calls Dir#pos=
|
|
243
230
|
# ario.pos = integer => integer
|
|
244
|
-
|
|
245
|
-
#
|
|
231
|
+
#
|
|
232
|
+
# ---
|
|
233
|
+
#
|
|
234
|
+
# Synonym for {#seek}[rdoc-ref:IF::FileOrDir#seek], but returns the position parameter.
|
|
246
235
|
#
|
|
247
236
|
# d = rio("testdir") #=> d
|
|
248
237
|
# d.read #=> rio(".")
|
data/lib/rio/if/grande.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,20 +18,9 @@
|
|
|
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
|
require 'rio/no_warn'
|
|
37
26
|
module RIO
|
|
@@ -40,7 +29,7 @@ module RIO
|
|
|
40
29
|
|
|
41
30
|
# Returns the contents of the rio as an array. (See ::Enumerable#to_a)
|
|
42
31
|
#
|
|
43
|
-
# IF::Grande#to_a is implemented in terms of #each so the the following are roughly equivelent
|
|
32
|
+
# {#to_a}[rdoc-ref:IF::Grande#to_a] is implemented in terms of #each so the the following are roughly equivelent
|
|
44
33
|
#
|
|
45
34
|
# ary = ario.to_a
|
|
46
35
|
#
|
|
@@ -49,9 +38,9 @@ module RIO
|
|
|
49
38
|
# ary << ary
|
|
50
39
|
# end
|
|
51
40
|
#
|
|
52
|
-
# What constitutes an array element is determined by IF::GrandeStream#lines,
|
|
53
|
-
# IF::GrandeStream#bytes, IF::GrandeStream#records, IF::GrandeStream#rows or
|
|
54
|
-
# by an extension such as IF::CSV#csv. IF::GrandeStream#lines is the default.
|
|
41
|
+
# What constitutes an array element is determined by {#lines}[rdoc-ref:IF::GrandeStream#lines],
|
|
42
|
+
# {#bytes}[rdoc-ref:IF::GrandeStream#bytes], {#records}[rdoc-ref:IF::GrandeStream#records], {#rows}[rdoc-ref:IF::GrandeStream#rows] or
|
|
43
|
+
# by an extension such as {#csv}[rdoc-ref:IF::CSV#csv]. {#lines}[rdoc-ref:IF::GrandeStream#lines] is the default.
|
|
55
44
|
#
|
|
56
45
|
# rio('afile.txt').to_a # returns an array of the lines in afile.txt
|
|
57
46
|
#
|
|
@@ -60,11 +49,11 @@ module RIO
|
|
|
60
49
|
# rio('afile.dat').bytes(50).to_a # an array containing the contents of afile.dat broken
|
|
61
50
|
# # up into 50 byte chunks
|
|
62
51
|
#
|
|
63
|
-
# See also IF
|
|
52
|
+
# See also {#[]}[link:RIO/IF/Grande.html#method-i-5B-5D] (subscript operator)
|
|
64
53
|
#
|
|
65
54
|
def to_a() target.to_a() end
|
|
66
55
|
|
|
67
|
-
# Grande subscript operator.
|
|
56
|
+
# \Grande subscript operator.
|
|
68
57
|
#
|
|
69
58
|
# For files this returns all or part of a file as an array.
|
|
70
59
|
#
|
|
@@ -72,13 +61,13 @@ module RIO
|
|
|
72
61
|
#
|
|
73
62
|
# === Files
|
|
74
63
|
#
|
|
75
|
-
# This combines the record selection offered by IF::GrandeStream#records with
|
|
76
|
-
# the conversion to an array provided by IF::Grande#to_a. The following two are equivelant:
|
|
64
|
+
# This combines the record selection offered by {#records}[rdoc-ref:IF::GrandeStream#records] with
|
|
65
|
+
# the conversion to an array provided by {#to_a}[rdoc-ref:IF::Grande#to_a]. The following two are equivelant:
|
|
77
66
|
# ario[*args]
|
|
78
67
|
# ario.records(*args).to_a
|
|
79
68
|
#
|
|
80
|
-
# What constitutes an array element is determined by IF::GrandeStream#lines, IF::GrandeStream#bytes,
|
|
81
|
-
# or by an extension such as IF::CSV#csv. IF::GrandeStream#lines is the default.
|
|
69
|
+
# What constitutes an array element is determined by {#lines}[rdoc-ref:IF::GrandeStream#lines], {#bytes}[rdoc-ref:IF::GrandeStream#bytes],
|
|
70
|
+
# or by an extension such as {#csv}[rdoc-ref:IF::CSV#csv]. {#lines}[rdoc-ref:IF::GrandeStream#lines] is the default.
|
|
82
71
|
#
|
|
83
72
|
# Arguments may consist of zero or more integers, ranges, regular expressions, symbols,
|
|
84
73
|
# procs, and arrays
|
|
@@ -97,7 +86,7 @@ module RIO
|
|
|
97
86
|
#
|
|
98
87
|
# A record matching *any* of the selectors will be included in the array. (acts like an _or_)
|
|
99
88
|
#
|
|
100
|
-
# Because this is implemented in terms of the IF::Grande#each,
|
|
89
|
+
# Because this is implemented in terms of the {#each}[rdoc-ref:IF::Grande#each],
|
|
101
90
|
# When only record ranges are used to select records,
|
|
102
91
|
# iteration will stop when the recno exceeds the maximum of any range. That is to say
|
|
103
92
|
#
|
|
@@ -108,8 +97,8 @@ module RIO
|
|
|
108
97
|
#
|
|
109
98
|
# === Directories
|
|
110
99
|
#
|
|
111
|
-
# This combines the entry selection offered by IF::GrandeEntry#entries with
|
|
112
|
-
# the conversion to an array provided by IF::Grande#to_a. The following two are equivelant:
|
|
100
|
+
# This combines the entry selection offered by {#entries}[rdoc-ref:IF::GrandeEntry#entries] with
|
|
101
|
+
# the conversion to an array provided by {#to_a}[rdoc-ref:IF::Grande#to_a]. The following two are equivelant:
|
|
113
102
|
# ario[*args]
|
|
114
103
|
# ario.entries(*args).to_a
|
|
115
104
|
#
|
|
@@ -117,34 +106,34 @@ module RIO
|
|
|
117
106
|
# An empty argument list selects all entries
|
|
118
107
|
# See ::Dir#glob and ::File::fnmatch? for more in information on _globs_.
|
|
119
108
|
# Be warned that using the '**' glob
|
|
120
|
-
# recurses into directories independently of IF::GrandeEntry#all and using both is unsupported.
|
|
109
|
+
# recurses into directories independently of {#all}[rdoc-ref:IF::GrandeEntry#all] and using both is unsupported.
|
|
121
110
|
#
|
|
122
111
|
# ario = rio('adir')
|
|
123
112
|
# ario[] # returns an array containg all entries in _adir_
|
|
124
113
|
# ario[/^zippy/] # all entries starting with 'zippy'
|
|
125
114
|
# ario['zippy*'] # same thing
|
|
126
115
|
#
|
|
127
|
-
# As with IF::Grande#each:
|
|
128
|
-
# * Files and directories are returned as Rios
|
|
129
|
-
# * The types of entries is also affected by IF::GrandeEntry#files and IF::GrandeEntry#dirs.
|
|
116
|
+
# As with {#each}[rdoc-ref:IF::Grande#each]:
|
|
117
|
+
# * Files and directories are returned as \Rios
|
|
118
|
+
# * The types of entries is also affected by {#files}[rdoc-ref:IF::GrandeEntry#files] and {#dirs}[rdoc-ref:IF::GrandeEntry#dirs].
|
|
130
119
|
# rio('adir').files['*.txt'] # array of all .txt files
|
|
131
120
|
# rio('adir').dirs[/^\./] # array of all dot directories
|
|
132
|
-
# * Recursion is enabled using IF::GrandeEntry#all
|
|
121
|
+
# * Recursion is enabled using {#all}[rdoc-ref:IF::GrandeEntry#all]
|
|
133
122
|
# rio('adir').all.files['*.[ch]'] # array of c source files in adir and its subdirecories
|
|
134
123
|
# rio('adir').all.dirs[/^\.svn/] # array of subversion directories in adir and subdirectories
|
|
135
|
-
# * IF::GrandeEntry#files and IF::GrandeEntry#dirs act independently of each other.
|
|
124
|
+
# * {#files}[rdoc-ref:IF::GrandeEntry#files] and {#dirs}[rdoc-ref:IF::GrandeEntry#dirs] act independently of each other.
|
|
136
125
|
# Specifying both will cause both to be returned.
|
|
137
|
-
# The argument list to IF
|
|
126
|
+
# The argument list to {#[]}[link:RIO/IF/Grande.html#method-i-5B-5D] will be applied to the closest.
|
|
138
127
|
# rio('adir').files('*.rb').dirs['ruby*'] # array of .rb files and
|
|
139
128
|
# # directories starting with 'ruby'
|
|
140
129
|
# rio('adir').dirs('ruby*').files['*.rb'] # same thing
|
|
141
130
|
#
|
|
142
131
|
# === Lines
|
|
143
|
-
# This section applies similarly to IF::GrandeStream#lines, IF::GrandeStream#bytes,
|
|
144
|
-
# IF::GrandeStream#records, and IF::GrandeStream#rows
|
|
132
|
+
# This section applies similarly to {#lines}[rdoc-ref:IF::GrandeStream#lines], {#bytes}[rdoc-ref:IF::GrandeStream#bytes],
|
|
133
|
+
# {#records}[rdoc-ref:IF::GrandeStream#records], and {#rows}[rdoc-ref:IF::GrandeStream#rows]
|
|
145
134
|
#
|
|
146
|
-
# Using IF::GrandeStream#lines and related methods with a Rio referencing a directory
|
|
147
|
-
# imples IF::GrandeEntry#files and will cause an array of the lines or bytes in the
|
|
135
|
+
# Using {#lines}[rdoc-ref:IF::GrandeStream#lines] and related methods with a \Rio referencing a directory
|
|
136
|
+
# imples {#files}[rdoc-ref:IF::GrandeEntry#files] and will cause an array of the lines or bytes in the
|
|
148
137
|
# files to be returned. As above,
|
|
149
138
|
# the arguments to the subscript operator will be applied to the closest.
|
|
150
139
|
# rio('adir').lines[] # array of all lines in the files in 'adir'
|
|
@@ -155,7 +144,7 @@ module RIO
|
|
|
155
144
|
# # 'adir and its subdirectories
|
|
156
145
|
#
|
|
157
146
|
# Note the difference between the following similar usages
|
|
158
|
-
# it1 = rio('adir').files('*.rb') # returns a Rio, prepared for selecting ruby files
|
|
147
|
+
# it1 = rio('adir').files('*.rb') # returns a \Rio, prepared for selecting ruby files
|
|
159
148
|
# it2 = rio('adir').files['*.rb'] # returns an array of the ruby files
|
|
160
149
|
#
|
|
161
150
|
# The second example above could have been written
|
|
@@ -203,25 +192,25 @@ module RIO
|
|
|
203
192
|
|
|
204
193
|
|
|
205
194
|
|
|
206
|
-
# Iterate through a rio. Executes the block for each item selected for the Rio.
|
|
207
|
-
# See IF::GrandeStream#lines, IF::GrandeStream#records, IF::GrandeStream#bytes,
|
|
208
|
-
# IF::GrandeEntry#files, IF::GrandeEntry#dirs, IF
|
|
209
|
-
# and IF::Grande#to_a for more information
|
|
195
|
+
# Iterate through a rio. Executes the block for each item selected for the \Rio.
|
|
196
|
+
# See {#lines}[rdoc-ref:IF::GrandeStream#lines], {#records}[rdoc-ref:IF::GrandeStream#records], {#bytes}[rdoc-ref:IF::GrandeStream#bytes],
|
|
197
|
+
# {#files}[rdoc-ref:IF::GrandeEntry#files], {#dirs}[rdoc-ref:IF::GrandeEntry#dirs], {#[]}[link:RIO/IF/Grande.html#method-i-5B-5D]
|
|
198
|
+
# and {#to_a}[rdoc-ref:IF::Grande#to_a] for more information
|
|
210
199
|
# on how records are selected and what kind of record is passed to the block.
|
|
211
200
|
#
|
|
212
|
-
# IF::Grande#each is the fundemental method for all the Rio grande operators.
|
|
213
|
-
# IF::Grande#to_a and the Rio copy operators
|
|
214
|
-
# IF
|
|
215
|
-
# are all implemented in terms of IF::Grande#each.
|
|
201
|
+
# {#each}[rdoc-ref:IF::Grande#each] is the fundemental method for all the \Rio grande operators.
|
|
202
|
+
# {#to_a}[rdoc-ref:IF::Grande#to_a] and the \Rio copy operators
|
|
203
|
+
# {#<}[link:RIO/IF/Grande.html#method-i-3C], {#<<}[link:RIO/IF/Grande.html#method-i-3C-3C], {#>>}[link:RIO/IF/Grande.html#method-i-3E-3E], and {#>}[link:RIO/IF/Grande.html#method-i-3E]
|
|
204
|
+
# are all implemented in terms of {#each}[rdoc-ref:IF::Grande#each].
|
|
216
205
|
#
|
|
217
|
-
# While IF::Grande#each is fundamental to a Rio, it rarely needs
|
|
206
|
+
# While {#each}[rdoc-ref:IF::Grande#each] is fundamental to a \Rio, it rarely needs
|
|
218
207
|
# actually be called because all the grande configuration methods will also take a block
|
|
219
|
-
# and call IF::Grande#each if one is given.
|
|
208
|
+
# and call {#each}[rdoc-ref:IF::Grande#each] if one is given.
|
|
220
209
|
# So the existance of a block after many methods is taken as an implied
|
|
221
|
-
# IF::Grande#each
|
|
210
|
+
# {#each}[rdoc-ref:IF::Grande#each]
|
|
222
211
|
#
|
|
223
|
-
# For Rios that refer to files, the item passed to the block is a String containing
|
|
224
|
-
# the line or block as selected by IF::GrandeStream#lines, or IF::GrandeStream#bytes.
|
|
212
|
+
# For \Rios that refer to files, the item passed to the block is a String containing
|
|
213
|
+
# the line or block as selected by {#lines}[rdoc-ref:IF::GrandeStream#lines], or {#bytes}[rdoc-ref:IF::GrandeStream#bytes].
|
|
225
214
|
# +lines+ is the default.
|
|
226
215
|
# rio('afile').lines.each { |line| ...}
|
|
227
216
|
#
|
|
@@ -246,14 +235,14 @@ module RIO
|
|
|
246
235
|
# 1 is spelled 'one'
|
|
247
236
|
#
|
|
248
237
|
#
|
|
249
|
-
# For Rios that refer to directories, the item passed to the block is a Rio refering to
|
|
238
|
+
# For \Rios that refer to directories, the item passed to the block is a \Rio refering to
|
|
250
239
|
# the directory entry.
|
|
251
240
|
#
|
|
252
241
|
# rio('adir').files.each do |file|
|
|
253
242
|
# file.kind_of?(RIO::Rio) # true
|
|
254
243
|
# end
|
|
255
244
|
#
|
|
256
|
-
# In addition, the Rio passed to the block inherits certain attributes from the directory Rio.
|
|
245
|
+
# In addition, the \Rio passed to the block inherits certain attributes from the directory \Rio.
|
|
257
246
|
#
|
|
258
247
|
# rio('adir').files.chomp.each do |file| # chomp is ignored for directories,
|
|
259
248
|
# file.each do |line| # chomp attribute is inherited by the file rio
|
|
@@ -261,7 +250,7 @@ module RIO
|
|
|
261
250
|
# end
|
|
262
251
|
# end
|
|
263
252
|
#
|
|
264
|
-
# IF::Grande#each returns the Rio which called it.
|
|
253
|
+
# {#each}[rdoc-ref:IF::Grande#each] returns the \Rio which called it.
|
|
265
254
|
#
|
|
266
255
|
# Here are a few illustrative examples
|
|
267
256
|
#
|
|
@@ -319,9 +308,9 @@ module RIO
|
|
|
319
308
|
def each(*args,&block) target.each(*args,&block); self end
|
|
320
309
|
|
|
321
310
|
|
|
322
|
-
# For a file Rio +delete+ calls FileUtils#rm.
|
|
323
|
-
# For a directory Rio +delete+ calls FileUtils#rmdir
|
|
324
|
-
# Returns the Rio. If the Rio does not exist, simply return the Rio.
|
|
311
|
+
# For a file \Rio +delete+ calls FileUtils#rm.
|
|
312
|
+
# For a directory \Rio +delete+ calls FileUtils#rmdir
|
|
313
|
+
# Returns the \Rio. If the \Rio does not exist, simply return the \Rio.
|
|
325
314
|
#
|
|
326
315
|
# rio('afile,txt').delete # delete 'afile.txt'
|
|
327
316
|
# rio('adir').delete # delete adir
|
|
@@ -329,12 +318,12 @@ module RIO
|
|
|
329
318
|
#
|
|
330
319
|
def delete() target.delete(); self end
|
|
331
320
|
|
|
332
|
-
# See IF::Grande#delete
|
|
321
|
+
# See {#delete}[rdoc-ref:IF::Grande#delete]
|
|
333
322
|
def unlink() target.unlink(); self end
|
|
334
323
|
|
|
335
|
-
# For a file IF::Grande#delete! calls FileUtils#rm.
|
|
336
|
-
# For a directory IF::Grande#delete! calls FileUtils#rmtree.
|
|
337
|
-
# Returns the Rio. If the rio does not exist, simply returns itself.
|
|
324
|
+
# For a file {#delete!}[rdoc-ref:IF::Grande#delete!] calls FileUtils#rm.
|
|
325
|
+
# For a directory {#delete!}[rdoc-ref:IF::Grande#delete!] calls FileUtils#rmtree.
|
|
326
|
+
# Returns the \Rio. If the rio does not exist, simply returns itself.
|
|
338
327
|
#
|
|
339
328
|
# rio('afile,txt').delete! # delete f.txt
|
|
340
329
|
# rio('adir').delete! # delete adir
|
|
@@ -343,23 +332,23 @@ module RIO
|
|
|
343
332
|
# rio('adir/asubdir').delete!.mkpath
|
|
344
333
|
#
|
|
345
334
|
# ==== Deleting Summary
|
|
346
|
-
# * To delete something only if it is not a directory use IF::File#rm
|
|
347
|
-
# * To delete an empty directory use IF::Dir#rmdir
|
|
348
|
-
# * To delete an entire directory tree use IF::Dir#rmtree
|
|
349
|
-
# * To delete anything except a populated directory use IF::Grande#delete
|
|
350
|
-
# * To delete anything use IF::Grande#delete!
|
|
335
|
+
# * To delete something only if it is not a directory use {#rm}[rdoc-ref:IF::File#rm]
|
|
336
|
+
# * To delete an empty directory use {#rmdir}[rdoc-ref:IF::Dir#rmdir]
|
|
337
|
+
# * To delete an entire directory tree use {#rmtree}[rdoc-ref:IF::Dir#rmtree]
|
|
338
|
+
# * To delete anything except a populated directory use {#delete}[rdoc-ref:IF::Grande#delete]
|
|
339
|
+
# * To delete anything use {#delete!}[rdoc-ref:IF::Grande#delete!]
|
|
351
340
|
#
|
|
352
341
|
# In all cases, deleting something that does not exist is considered successful.
|
|
353
342
|
#
|
|
354
343
|
def delete!() target.delete!(); self end
|
|
355
344
|
|
|
356
|
-
# Grande Copy-To Operator
|
|
345
|
+
# \Grande Copy-To Operator
|
|
357
346
|
#
|
|
358
|
-
# The copy grande-operator copies a Rio to a another Rio or another ruby object. The behaviour
|
|
347
|
+
# The copy grande-operator copies a \Rio to a another \Rio or another ruby object. The behaviour
|
|
359
348
|
# and the library used depend on the types of the of the source and destination. For
|
|
360
349
|
# simple file or directory copying ::FileUtils#cp or ::FileUtils#cp_r will be used. If
|
|
361
|
-
# any of the Rio grande methods are specified for the source or destination, the
|
|
362
|
-
# source Rio will be iterated through copying records to the destintion as specified. Roughly
|
|
350
|
+
# any of the \Rio grande methods are specified for the source or destination, the
|
|
351
|
+
# source \Rio will be iterated through copying records to the destintion as specified. Roughly
|
|
363
352
|
# equivelant to
|
|
364
353
|
# dst = rio('dst_file')
|
|
365
354
|
# rio('src_file').each do |line|
|
|
@@ -368,9 +357,9 @@ module RIO
|
|
|
368
357
|
# dst.close
|
|
369
358
|
#
|
|
370
359
|
# The destination of the copy operators may be a:
|
|
371
|
-
# IO:: Each record of the Rio is written to the IO using IO#print. The IO must be opened for writing.
|
|
372
|
-
# Array:: Each record or entry of the Rio becomes an element of the array
|
|
373
|
-
# String:: Puts the entire contents of the Rio into the string
|
|
360
|
+
# IO:: Each record of the \Rio is written to the IO using IO#print. The IO must be opened for writing.
|
|
361
|
+
# Array:: Each record or entry of the \Rio becomes an element of the array
|
|
362
|
+
# String:: Puts the entire contents of the \Rio into the string
|
|
374
363
|
# Rio:: Depends on the destination. See below.
|
|
375
364
|
#
|
|
376
365
|
# Copy a file to a file
|
|
@@ -396,7 +385,7 @@ module RIO
|
|
|
396
385
|
#
|
|
397
386
|
# rio('afile').skiplines(0..9) > ary # ary will contain all but the first ten lines of the file
|
|
398
387
|
#
|
|
399
|
-
# rio('adir') > ary # ary will contain a Rio for each entry in the directory
|
|
388
|
+
# rio('adir') > ary # ary will contain a \Rio for each entry in the directory
|
|
400
389
|
# rio('adir').files > ary # same, but only files
|
|
401
390
|
# rio('adir').files('*.rb') >ary # same, but only .rb files
|
|
402
391
|
#
|
|
@@ -404,7 +393,7 @@ module RIO
|
|
|
404
393
|
# rio('afile') > astring # slurp the entire contents of the file into astring
|
|
405
394
|
# astring = rio('afile').contents # same effect
|
|
406
395
|
#
|
|
407
|
-
# Copy the first line *and* every line containing the word Rio into a gzipped file
|
|
396
|
+
# Copy the first line *and* every line containing the word \Rio into a gzipped file
|
|
408
397
|
# rio('src').lines(1,/Rio/) > rio('dst.gz').gzip
|
|
409
398
|
#
|
|
410
399
|
# Copy lines of a web page into an array with each line chomped
|
|
@@ -414,7 +403,7 @@ module RIO
|
|
|
414
403
|
# file on a web site into a local gzipped csv file that uses semi-colons as separators
|
|
415
404
|
# rio('http://host/file.csv.gz').columns(0,7..9).gzip.csv[0..9] > rio('localfile.csv.gz').csv(';').gzip
|
|
416
405
|
#
|
|
417
|
-
# See also IF
|
|
406
|
+
# See also {#>>}[link:RIO/IF/Grande.html#method-i-3E-3E], {#|}[link:RIO/IF/Grande.html#method-i-7C]
|
|
418
407
|
#
|
|
419
408
|
def >(destination)
|
|
420
409
|
RIO::no_warn {
|
|
@@ -423,23 +412,23 @@ module RIO
|
|
|
423
412
|
self
|
|
424
413
|
end
|
|
425
414
|
|
|
426
|
-
# Alias for IF
|
|
415
|
+
# Alias for {#>}[link:RIO/IF/Grande.html#method-i-3E] (copy-to grande operator)
|
|
427
416
|
def copy_to(destination) target.copy_to(destination); self end
|
|
428
417
|
|
|
429
418
|
|
|
430
|
-
# Grande Pipe Operator
|
|
419
|
+
# \Grande Pipe Operator
|
|
431
420
|
#
|
|
432
|
-
# The Rio pipe operator is actually an alternative syntax for calling the IF
|
|
421
|
+
# The \Rio pipe operator is actually an alternative syntax for calling the {#>}[link:RIO/IF/Grande.html#method-i-3E] (copy-to)
|
|
433
422
|
# operator, designed to
|
|
434
423
|
# allow several copy operation to be performed in one line of code, with behavior that mimics
|
|
435
424
|
# the pipe operator commonly available in shells.
|
|
436
425
|
#
|
|
437
|
-
# If +destination+ is a +cmdio+, a <tt>cmdpipe</tt> Rio is returned, and none of the commands are run.
|
|
426
|
+
# If +destination+ is a +cmdio+, a <tt>cmdpipe</tt> \Rio is returned, and none of the commands are run.
|
|
438
427
|
#
|
|
439
|
-
# Otherwise the +cmdpipe+ Rio is run with the output of the pipe being copied to the destination.
|
|
440
|
-
# In this case a Rio representing the +destination+ is returned.
|
|
428
|
+
# Otherwise the +cmdpipe+ \Rio is run with the output of the pipe being copied to the destination.
|
|
429
|
+
# In this case a \Rio representing the +destination+ is returned.
|
|
441
430
|
#
|
|
442
|
-
# If destination is not a Rio it is passed to the Rio constructor as is done with the copy-to operator
|
|
431
|
+
# If destination is not a \Rio it is passed to the \Rio constructor as is done with the copy-to operator
|
|
443
432
|
# except that if +destination+ is a String it is assumed to be a command instead of a path.
|
|
444
433
|
#
|
|
445
434
|
# rio('afile') | rio(?-,'grep i') | rio(?-) # returns rio(?-)
|
|
@@ -465,26 +454,26 @@ module RIO
|
|
|
465
454
|
# acmdpipe2 = rio('afile') | 'acmd' | 'acmd2'
|
|
466
455
|
# acmdpipe2 | rio('outfile') # same thing
|
|
467
456
|
#
|
|
468
|
-
# The grande pipe operator can not be used to create a +cmdpipe+ Rio that includes a destination.
|
|
469
|
-
# This must be done using a Rio constructor
|
|
457
|
+
# The grande pipe operator can not be used to create a +cmdpipe+ \Rio that includes a destination.
|
|
458
|
+
# This must be done using a \Rio constructor
|
|
470
459
|
# cmd_with_output = rio(?|,'acmd',rio('outfile'))
|
|
471
460
|
# rio('afile') | cmd_with_output # same as above
|
|
472
461
|
#
|
|
473
462
|
def |(destination) target | destination end
|
|
474
463
|
|
|
475
|
-
# Grande Append-To Operator
|
|
464
|
+
# \Grande Append-To Operator
|
|
476
465
|
#
|
|
477
|
-
# The append-to grande-operator is the same as IF
|
|
466
|
+
# The append-to grande-operator is the same as {#>}[link:RIO/IF/Grande.html#method-i-3E] (copy-to) except that it opens the destination
|
|
478
467
|
# for append.
|
|
479
468
|
# The destination can be a kind of:
|
|
480
|
-
# IO:: Each record of the Rio is written to the IO using IO#print. The IO must be opened for writing.
|
|
481
|
-
# Array:: Each record or entry of the Rio is appended to the destination array
|
|
482
|
-
# String:: Appends the entire contents of the Rio to destination
|
|
483
|
-
# Rio:: Just like IF
|
|
469
|
+
# IO:: Each record of the \Rio is written to the IO using IO#print. The IO must be opened for writing.
|
|
470
|
+
# Array:: Each record or entry of the \Rio is appended to the destination array
|
|
471
|
+
# String:: Appends the entire contents of the \Rio to destination
|
|
472
|
+
# Rio:: Just like {#>}[link:RIO/IF/Grande.html#method-i-3E] (copy-to) except the unopened object are
|
|
484
473
|
# opened for append. If the destination is already opened for writing or is a
|
|
485
|
-
# directory, this is identical to IF
|
|
474
|
+
# directory, this is identical to {#>}[link:RIO/IF/Grande.html#method-i-3E] (copy-to)
|
|
486
475
|
#
|
|
487
|
-
# See IF
|
|
476
|
+
# See {#>}[link:RIO/IF/Grande.html#method-i-3E] (copy-to)
|
|
488
477
|
#
|
|
489
478
|
# rio('afile') >> rio('anotherfile') # append the contents of 'afile' to 'anotherfile'
|
|
490
479
|
# rio('afile') >> rio('adir') # copies 'afile' to the directory 'adir'
|
|
@@ -493,32 +482,32 @@ module RIO
|
|
|
493
482
|
def >>(destination) target >> destination; self end
|
|
494
483
|
|
|
495
484
|
|
|
496
|
-
# Alias for IF
|
|
485
|
+
# Alias for {#>>}[link:RIO/IF/Grande.html#method-i-3E-3E] (append-to grande operator)
|
|
497
486
|
def append_to(destination) target.append_to(destination); self end
|
|
498
487
|
|
|
499
488
|
|
|
500
|
-
# Grande Append-From Operator
|
|
489
|
+
# \Grande Append-From Operator
|
|
501
490
|
#
|
|
502
|
-
# The append-from grande-operator copies a Rio from another Rio or another ruby object. This
|
|
503
|
-
# behaves like IF
|
|
491
|
+
# The append-from grande-operator copies a \Rio from another \Rio or another ruby object. This
|
|
492
|
+
# behaves like {#<}[link:RIO/IF/Grande.html#method-i-3C] (copy-from) except unopened \Rios are opened for append.
|
|
504
493
|
#
|
|
505
494
|
# The following summarizes how objects are copied:
|
|
506
|
-
# IO:: IO#each is used to iterate through the source with each record appended to the Rio
|
|
507
|
-
# Array:: Each element of the Array is appended individually to the Rio.
|
|
508
|
-
# String:: The string is appended to the Rio using IF::RubyIO#print
|
|
509
|
-
# Rio:: The source Rio is appended using its IF
|
|
495
|
+
# IO:: IO#each is used to iterate through the source with each record appended to the \Rio
|
|
496
|
+
# Array:: Each element of the Array is appended individually to the \Rio.
|
|
497
|
+
# String:: The string is appended to the \Rio using {#print}[rdoc-ref:IF::RubyIO#print]
|
|
498
|
+
# Rio:: The source \Rio is appended using its {#>>}[link:RIO/IF/Grande.html#method-i-3E-3E] (append-to) operator
|
|
510
499
|
#
|
|
511
|
-
# See IF
|
|
500
|
+
# See {#<}[link:RIO/IF/Grande.html#method-i-3C] (copy-from)
|
|
512
501
|
def <<(source) target << source; self end
|
|
513
502
|
|
|
514
503
|
|
|
515
|
-
# Alias for IF
|
|
504
|
+
# Alias for {#<<}[link:RIO/IF/Grande.html#method-i-3C-3C] (append-from grande operator)
|
|
516
505
|
def append_from(source) target.append_from(source); self end
|
|
517
506
|
|
|
518
507
|
|
|
519
|
-
# Grande Copy-From Operator
|
|
508
|
+
# \Grande Copy-From Operator
|
|
520
509
|
#
|
|
521
|
-
# The copy-from grande-operator copies a Rio from another Rio or another ruby object.
|
|
510
|
+
# The copy-from grande-operator copies a \Rio from another \Rio or another ruby object.
|
|
522
511
|
# Its operation is dependent on the the file system objects referenced, the rio
|
|
523
512
|
# options set, and the state of its source and destination. In the broadest of terms
|
|
524
513
|
# it could be described as doing the following:
|
|
@@ -577,7 +566,7 @@ module RIO
|
|
|
577
566
|
# else dest << rio(el)
|
|
578
567
|
# end
|
|
579
568
|
#
|
|
580
|
-
# To improve run-time efficiency, Rio will choose from among several strategies when
|
|
569
|
+
# To improve run-time efficiency, \Rio will choose from among several strategies when
|
|
581
570
|
# copying. For instance when no file or directory filtering is specified, FileUtils#cp_r is
|
|
582
571
|
# used to copy directories; and when no line filtering is specified, FileUtils#cp is used to copy
|
|
583
572
|
# files.
|
|
@@ -598,7 +587,7 @@ module RIO
|
|
|
598
587
|
# rio('skeldir') < rio('adir').dirs # copy only the directory structure
|
|
599
588
|
# rio('destdir') < rio('adir').dirs.files(/^\./) # copy the directory structure and all dot files
|
|
600
589
|
#
|
|
601
|
-
# See also IF
|
|
590
|
+
# See also {#>}[link:RIO/IF/Grande.html#method-i-3E] (copy-to), {#each}[rdoc-ref:IF::Grande#each], {#[]}[link:RIO/IF/Grande.html#method-i-5B-5D]
|
|
602
591
|
#
|
|
603
592
|
def <(source)
|
|
604
593
|
RIO::no_warn {
|
|
@@ -607,16 +596,16 @@ module RIO
|
|
|
607
596
|
self
|
|
608
597
|
end
|
|
609
598
|
|
|
610
|
-
# Alias for IF
|
|
599
|
+
# Alias for {#<}[link:RIO/IF/Grande.html#method-i-3C] (copy-from grande operator)
|
|
611
600
|
def copy_from(source) target.copy_from(source); self end
|
|
612
601
|
|
|
613
602
|
|
|
614
|
-
# Reads and returns the next record or entry from a Rio,
|
|
603
|
+
# Reads and returns the next record or entry from a \Rio,
|
|
615
604
|
# honoring the grande selection methods.
|
|
616
605
|
#
|
|
617
606
|
# Returns nil on end of file.
|
|
618
607
|
#
|
|
619
|
-
# See also IF::GrandeStream#records, IF::GrandeStream#lines, IF::Grande#each, IF
|
|
608
|
+
# See also {#records}[rdoc-ref:IF::GrandeStream#records], {#lines}[rdoc-ref:IF::GrandeStream#lines], {#each}[rdoc-ref:IF::Grande#each], {#[]}[link:RIO/IF/Grande.html#method-i-5B-5D]
|
|
620
609
|
#
|
|
621
610
|
# ario = rio('afile').lines(10..12)
|
|
622
611
|
# line10 = ario.get
|
|
@@ -630,7 +619,7 @@ module RIO
|
|
|
630
619
|
#
|
|
631
620
|
def get() target.get() end
|
|
632
621
|
|
|
633
|
-
# Grande Exclude method
|
|
622
|
+
# \Grande Exclude method
|
|
634
623
|
#
|
|
635
624
|
# +skip+ can be used in two ways.
|
|
636
625
|
#
|
|
@@ -652,8 +641,8 @@ module RIO
|
|
|
652
641
|
#
|
|
653
642
|
# ==== skip with arguments
|
|
654
643
|
#
|
|
655
|
-
# When called with arguments it acts like IF::GrandeEntry#skipentries for directory
|
|
656
|
-
# Rios and like IF::GrandeStream#skiprecords for stream Rios.
|
|
644
|
+
# When called with arguments it acts like {#skipentries}[rdoc-ref:IF::GrandeEntry#skipentries] for directory
|
|
645
|
+
# \Rios and like {#skiprecords}[rdoc-ref:IF::GrandeStream#skiprecords] for stream \Rios.
|
|
657
646
|
#
|
|
658
647
|
# rio('afile').lines(/Rio/).skip[0..4] # lines containg 'Rio' excluding the
|
|
659
648
|
# # first five lines
|
|
@@ -663,10 +652,10 @@ module RIO
|
|
|
663
652
|
#
|
|
664
653
|
# If a block is given, behaves as if <tt>skip(*args).each(&block)</tt> had been called.
|
|
665
654
|
#
|
|
666
|
-
# Returns the Rio.
|
|
655
|
+
# Returns the \Rio.
|
|
667
656
|
#
|
|
668
|
-
# See IF::GrandeStream#skiplines, IF::GrandeStream#skiprecords, IF::GrandeStream#skiprows,
|
|
669
|
-
# IF::GrandeEntry#skipfiles, IF::GrandeEntry#skipdirs, and IF::GrandeEntry#skipentries.
|
|
657
|
+
# See {#skiplines}[rdoc-ref:IF::GrandeStream#skiplines], {#skiprecords}[rdoc-ref:IF::GrandeStream#skiprecords], {#skiprows}[rdoc-ref:IF::GrandeStream#skiprows],
|
|
658
|
+
# {#skipfiles}[rdoc-ref:IF::GrandeEntry#skipfiles], {#skipdirs}[rdoc-ref:IF::GrandeEntry#skipdirs], and {#skipentries}[rdoc-ref:IF::GrandeEntry#skipentries].
|
|
670
659
|
#
|
|
671
660
|
def skip(*args,&block) target.skip(*args,&block); self end
|
|
672
661
|
|
|
@@ -680,12 +669,12 @@ module RIO
|
|
|
680
669
|
#
|
|
681
670
|
def empty?() target.empty? end
|
|
682
671
|
|
|
683
|
-
# IF::Grande#split has two distinct behaviors depending on
|
|
672
|
+
# {#split}[rdoc-ref:IF::Grande#split] has two distinct behaviors depending on
|
|
684
673
|
# whether or not it is called with an argument.
|
|
685
674
|
#
|
|
686
675
|
# ==== split with no aruments:
|
|
687
676
|
#
|
|
688
|
-
# Returns an array of Rios, one for each path element.
|
|
677
|
+
# Returns an array of \Rios, one for each path element.
|
|
689
678
|
# (Note that this behavior differs from File#split.)
|
|
690
679
|
#
|
|
691
680
|
# rio('a/b/c').split #=> [rio('a'),rio('b'),rio('c')]
|
|
@@ -700,7 +689,7 @@ module RIO
|
|
|
700
689
|
# ary[1] = rio('d')
|
|
701
690
|
# ary.to_rio #=> rio('a/d/c')
|
|
702
691
|
#
|
|
703
|
-
# See also IF::Path#join, IF::Path#/, IF::Path#splitpath
|
|
692
|
+
# See also {#join}[rdoc-ref:IF::Path#join], IF::Path#/, {#splitpath}[rdoc-ref:IF::Path#splitpath]
|
|
704
693
|
#
|
|
705
694
|
# ==== split with an argument:
|
|
706
695
|
#
|