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.
Files changed (641) hide show
  1. data/.gitignore +21 -0
  2. data/Gemfile +4 -0
  3. data/{COPYING → LICENSE} +3 -0
  4. data/README +20 -27
  5. data/Rakefile +48 -277
  6. data/lib/rio.rb +63 -24
  7. data/lib/rio/.document +5 -0
  8. data/lib/rio/abstract_method.rb +3 -14
  9. data/lib/rio/alturi.rb +507 -0
  10. data/lib/rio/alturi/algorithm.rb +313 -0
  11. data/lib/rio/alturi/cached_fields.rb +68 -0
  12. data/lib/rio/alturi/escape.rb +82 -0
  13. data/lib/rio/alturi/parse.rb +75 -0
  14. data/lib/rio/alturi/path_parts.rb +81 -0
  15. data/lib/rio/alturi/regex.rb +76 -0
  16. data/lib/rio/alturi/uri_parts.rb +512 -0
  17. data/lib/rio/argv.rb +3 -14
  18. data/lib/rio/arraynge.rb +146 -0
  19. data/lib/rio/arycopy.rb +3 -14
  20. data/lib/rio/assert.rb +87 -15
  21. data/lib/rio/base.rb +7 -30
  22. data/lib/rio/callstr.rb +3 -14
  23. data/lib/rio/const.rb +3 -14
  24. data/lib/rio/construct.rb +4 -15
  25. data/lib/rio/constructor.rb +4 -19
  26. data/lib/rio/context.rb +17 -14
  27. data/lib/rio/context/autoclose.rb +3 -14
  28. data/lib/rio/context/binmode.rb +63 -0
  29. data/lib/rio/context/copying.rb +3 -14
  30. data/lib/rio/context/cxx.rb +3 -14
  31. data/lib/rio/context/dir.rb +5 -15
  32. data/lib/rio/context/encoding.rb +84 -0
  33. data/lib/rio/context/gzip.rb +3 -14
  34. data/lib/rio/context/methods.rb +8 -17
  35. data/lib/rio/context/skip.rb +3 -14
  36. data/lib/rio/context/stream.rb +3 -14
  37. data/lib/rio/cp.rb +5 -20
  38. data/lib/rio/cxuri.rb +67 -0
  39. data/lib/rio/dbg/trace_states.rb +18 -0
  40. data/lib/rio/def.rb +3 -14
  41. data/lib/rio/dir.rb +9 -18
  42. data/lib/rio/doc.rb +3 -14
  43. data/lib/rio/doc/EXAMPLES.rb +256 -269
  44. data/lib/rio/doc/HOWTO.rb +685 -707
  45. data/lib/rio/doc/INDEX.rb +261 -282
  46. data/lib/rio/doc/INTRO.rb +1029 -1040
  47. data/lib/rio/doc/OPTIONAL.rb +77 -103
  48. data/lib/rio/doc/SYNOPSIS.rb +122 -143
  49. data/lib/rio/entrysel.rb +3 -14
  50. data/lib/rio/exception.rb +4 -14
  51. data/lib/rio/exception/copy.rb +3 -14
  52. data/lib/rio/exception/notimplemented.rb +3 -14
  53. data/lib/rio/exception/notsupported.rb +3 -14
  54. data/lib/rio/exception/open.rb +3 -14
  55. data/lib/rio/exception/state.rb +3 -14
  56. data/lib/rio/ext.rb +14 -17
  57. data/lib/rio/ext/csv.rb +25 -304
  58. data/lib/rio/ext/csv/csv-legacy.rb +344 -0
  59. data/lib/rio/ext/csv/csv.rb +359 -0
  60. data/lib/rio/ext/csv/filter.rb +209 -0
  61. data/lib/rio/ext/if.rb +3 -14
  62. data/lib/rio/ext/mp3info.rb +3 -14
  63. data/lib/rio/ext/splitlines.rb +3 -14
  64. data/lib/rio/ext/yaml.rb +3 -14
  65. data/lib/rio/ext/yaml/doc.rb +3 -14
  66. data/lib/rio/ext/yaml/tie.rb +3 -14
  67. data/lib/rio/ext/zipfile.rb +3 -14
  68. data/lib/rio/ext/zipfile/fs.rb +3 -14
  69. data/lib/rio/ext/zipfile/rl.rb +3 -14
  70. data/lib/rio/ext/zipfile/rootdir.rb +3 -14
  71. data/lib/rio/ext/zipfile/state.rb +3 -14
  72. data/lib/rio/ext/zipfile/wrap.rb +3 -14
  73. data/lib/rio/factory.rb +96 -213
  74. data/lib/rio/fibpipe.rb +373 -0
  75. data/lib/rio/file.rb +8 -17
  76. data/lib/rio/filter.rb +4 -15
  77. data/lib/rio/filter/closeoneof.rb +3 -14
  78. data/lib/rio/filter/gzip.rb +18 -27
  79. data/lib/rio/fs.rb +172 -0
  80. data/lib/rio/fs/base.rb +3 -14
  81. data/lib/rio/fs/impl.rb +3 -14
  82. data/lib/rio/fs/native.rb +3 -14
  83. data/lib/rio/fs/stream.rb +3 -14
  84. data/lib/rio/fs/url.rb +3 -14
  85. data/lib/rio/ftp/conncache.rb +16 -18
  86. data/lib/rio/ftp/dir.rb +4 -15
  87. data/lib/rio/ftp/fs.rb +62 -42
  88. data/lib/rio/fwd.rb +15 -0
  89. data/lib/rio/grande.rb +4 -15
  90. data/lib/rio/handle.rb +3 -45
  91. data/lib/rio/if.rb +15 -20
  92. data/lib/rio/if/basic.rb +3 -36
  93. data/lib/rio/if/csv.rb +7 -20
  94. data/lib/rio/if/dir.rb +9 -21
  95. data/lib/rio/if/file.rb +6 -19
  96. data/lib/rio/if/fileordir.rb +18 -29
  97. data/lib/rio/if/grande.rb +109 -120
  98. data/lib/rio/if/grande_entry.rb +5 -18
  99. data/lib/rio/if/grande_stream.rb +29 -42
  100. data/lib/rio/if/internal.rb +15 -16
  101. data/lib/rio/if/path.rb +35 -47
  102. data/lib/rio/if/rubyio.rb +35 -47
  103. data/lib/rio/if/string.rb +3 -16
  104. data/lib/rio/if/temp.rb +3 -16
  105. data/lib/rio/if/test.rb +8 -20
  106. data/lib/rio/if/yaml.rb +16 -29
  107. data/lib/rio/ioh.rb +35 -34
  108. data/lib/rio/iomode.rb +3 -14
  109. data/lib/rio/ios/fail.rb +3 -14
  110. data/lib/rio/ios/generic.rb +3 -14
  111. data/lib/rio/ios/mode.rb +3 -14
  112. data/lib/rio/ios/null.rb +3 -14
  113. data/lib/rio/iowrap.rb +3 -14
  114. data/lib/rio/kernel.rb +4 -17
  115. data/lib/rio/local.rb +3 -14
  116. data/lib/rio/match.rb +3 -14
  117. data/lib/rio/matchrecord.rb +8 -17
  118. data/lib/rio/no_warn.rb +3 -14
  119. data/lib/rio/nullio.rb +3 -14
  120. data/lib/rio/open3.rb +3 -16
  121. data/lib/rio/ops.rb +33 -0
  122. data/lib/rio/ops/construct.rb +3 -14
  123. data/lib/rio/ops/create.rb +11 -25
  124. data/lib/rio/ops/dir.rb +17 -24
  125. data/lib/rio/ops/either.rb +28 -31
  126. data/lib/rio/ops/file.rb +29 -26
  127. data/lib/rio/ops/path.rb +65 -34
  128. data/lib/rio/ops/stream.rb +13 -15
  129. data/lib/rio/ops/stream/input.rb +59 -28
  130. data/lib/rio/ops/stream/output.rb +4 -14
  131. data/lib/rio/ops/stream/read.rb +4 -15
  132. data/lib/rio/ops/stream/write.rb +3 -14
  133. data/lib/rio/ops/symlink.rb +6 -15
  134. data/lib/rio/path.rb +10 -17
  135. data/lib/rio/path/reset.rb +3 -14
  136. data/lib/rio/piper.rb +3 -27
  137. data/lib/rio/piper/cp.rb +50 -27
  138. data/lib/rio/prompt.rb +3 -14
  139. data/lib/rio/rectype.rb +8 -16
  140. data/lib/rio/rl/base.rb +12 -25
  141. data/lib/rio/rl/builder.rb +25 -24
  142. data/lib/rio/rl/chmap.rb +3 -16
  143. data/lib/rio/rl/fs2url.rb +5 -16
  144. data/lib/rio/rl/ioi.rb +3 -14
  145. data/lib/rio/rl/path.rb +14 -25
  146. data/lib/rio/rl/pathmethods.rb +3 -14
  147. data/lib/rio/rl/uri.rb +18 -35
  148. data/lib/rio/rl/withpath.rb +36 -53
  149. data/lib/rio/rrl/base.rb +75 -0
  150. data/lib/rio/rrl/builder.rb +122 -0
  151. data/lib/rio/rrl/chmap.rb +53 -0
  152. data/lib/rio/rrl/ioi.rb +78 -0
  153. data/lib/rio/rrl/path.rb +117 -0
  154. data/lib/rio/rrl/withpath.rb +269 -0
  155. data/lib/rio/scheme/aryio.rb +3 -14
  156. data/lib/rio/scheme/cmdio.rb +73 -42
  157. data/lib/rio/scheme/cmdpipe.rb +122 -59
  158. data/lib/rio/scheme/fd.rb +19 -33
  159. data/lib/rio/scheme/ftp.rb +34 -40
  160. data/lib/rio/scheme/http.rb +13 -22
  161. data/lib/rio/scheme/null.rb +6 -17
  162. data/lib/rio/scheme/path.rb +60 -71
  163. data/lib/rio/scheme/stderr.rb +9 -21
  164. data/lib/rio/scheme/stdio.rb +14 -26
  165. data/lib/rio/scheme/strio.rb +37 -38
  166. data/lib/rio/scheme/sysio.rb +20 -32
  167. data/lib/rio/scheme/tcp.rb +3 -14
  168. data/lib/rio/scheme/temp.rb +103 -92
  169. data/lib/rio/state.rb +85 -67
  170. data/lib/rio/state/data.rb +55 -0
  171. data/lib/rio/state/error.rb +7 -27
  172. data/lib/rio/stream.rb +46 -19
  173. data/lib/rio/stream/base.rb +14 -14
  174. data/lib/rio/stream/duplex.rb +64 -26
  175. data/lib/rio/stream/open.rb +9 -19
  176. data/lib/rio/symantics.rb +3 -14
  177. data/lib/rio/tempdir.rb +8 -17
  178. data/lib/rio/to_rio.rb +3 -16
  179. data/lib/rio/to_rio/all.rb +3 -14
  180. data/lib/rio/to_rio/array.rb +3 -14
  181. data/lib/rio/to_rio/io.rb +3 -14
  182. data/lib/rio/to_rio/object.rb +3 -14
  183. data/lib/rio/to_rio/string.rb +3 -14
  184. data/lib/rio/uri/file.rb +98 -153
  185. data/lib/rio/uriref.rb +144 -0
  186. data/lib/rio/util.rb +3 -14
  187. data/lib/rio/version.rb +4 -15
  188. data/misc/clean-heading-comments.rb +39 -0
  189. data/misc/fixdoclinks.rb +36 -0
  190. data/misc/update-copyright.rb +17 -0
  191. data/rio.gemspec +31 -0
  192. data/test/alturi/tc/create.rb +24 -0
  193. data/test/alturi/tc/empty.rb +13 -0
  194. data/test/alturi/tc/encoding.rb +73 -0
  195. data/test/alturi/tc/file_test.rb +335 -0
  196. data/test/alturi/tc/ftp_alturi.rb +147 -0
  197. data/test/alturi/tc/generic_test.rb +335 -0
  198. data/test/alturi/tc/http_test.rb +359 -0
  199. data/test/alturi/tc/path_parts_test.rb +215 -0
  200. data/test/alturi/tc/rfc_test.rb +83 -0
  201. data/test/alturi/tc/uri_parts_authority.rb +129 -0
  202. data/test/alturi/tc/uri_parts_test.rb +473 -0
  203. data/test/alturi/tc/uri_parts_userinfo.rb +140 -0
  204. data/test/alturi/tests.rb +27 -0
  205. data/test/base_test.rb +18 -0
  206. data/test/bin/demo_chdir.rb +60 -0
  207. data/test/bin/elipsis.rb +11 -0
  208. data/test/env.sh +4 -0
  209. data/test/ftp/initftpfiles.rb +1 -0
  210. data/test/ftp/tc/anon_copy_data.rb +31 -0
  211. data/test/ftp/tc/anon_misc.rb +109 -0
  212. data/test/ftp/tc/anon_read.rb +99 -0
  213. data/test/ftp/tc/anon_special.rb +37 -0
  214. data/test/ftp/tc/anon_write.rb +68 -0
  215. data/test/ftp/tc/copy.rb +35 -0
  216. data/test/ftp/tc/empty.rb +16 -0
  217. data/test/ftp/tc/ftp2ftp.rb +42 -0
  218. data/test/ftp/tc/ftp_fs.rb +333 -0
  219. data/test/ftp/testdef.rb +7 -2
  220. data/test/ftp/tests.rb +24 -0
  221. data/test/gem_runtests.rb +1 -1
  222. data/test/http/copy-from-http.rb +0 -1
  223. data/test/http/def.rb +20 -0
  224. data/test/http/tc/copy_from_http.rb +128 -0
  225. data/test/http/tc/empty.rb +14 -0
  226. data/test/http/tc/uri_meta.rb +52 -0
  227. data/test/http/tests.rb +19 -0
  228. data/test/lib/assertions.rb +7 -0
  229. data/test/lib/run_tests.rb +26 -0
  230. data/test/lib/temp_server.rb +7 -4
  231. data/test/methods/test_suite.rb +108 -0
  232. data/test/platform.rb +5 -0
  233. data/test/qpdir.rb +2 -0
  234. data/test/rio/scheme.rb +49 -0
  235. data/test/rio/tc/pathparts.rb +61 -0
  236. data/test/riotest/test_suite.rb +33 -0
  237. data/test/riotest/unit_test.rb +118 -0
  238. data/test/riotest/util.rb +23 -0
  239. data/test/runalltests.rb +1 -1
  240. data/test/runftptests.rb +2 -7
  241. data/test/runhttp.rb +4 -2
  242. data/test/runhttptests.rb +6 -5
  243. data/test/runtests.rb +66 -37
  244. data/test/srv/www/htdocs/riotest/dir/index.html +11 -0
  245. data/test/srv/www/htdocs/riotest/hw.html +8 -0
  246. data/test/srv/www/htdocs/riotest/lines.txt.gz +0 -0
  247. data/test/tc/abs2.rb +358 -0
  248. data/test/tc/all.rb +17 -10
  249. data/test/tc/base2.rb +8 -7
  250. data/test/tc/clearsel.rb +3 -2
  251. data/test/tc/closeoneof.rb +14 -15
  252. data/test/tc/cmdio.rb +193 -0
  253. data/test/tc/cmdpipe.rb +258 -63
  254. data/test/tc/copy.rb +3 -2
  255. data/test/tc/copyarray.rb +0 -4
  256. data/test/tc/copydest.rb +2 -3
  257. data/test/tc/copydir.rb +5 -1
  258. data/test/tc/copydir2.rb +68 -0
  259. data/test/tc/create.rb +4 -9
  260. data/test/tc/csv.rb +38 -119
  261. data/test/tc/csv2.rb +38 -57
  262. data/test/tc/csv_columns.rb +210 -8
  263. data/test/tc/csv_gzip.rb +78 -0
  264. data/test/tc/csv_headers.rb +134 -0
  265. data/test/tc/csvutil.rb +53 -16
  266. data/test/tc/dir.rb +3 -4
  267. data/test/tc/dir_iter.rb +3 -1
  268. data/test/tc/dirent.rb +8 -7
  269. data/test/tc/each.rb +62 -47
  270. data/test/tc/each_break.rb +67 -25
  271. data/test/tc/edf.rb +3 -2
  272. data/test/tc/empty.rb +6 -4
  273. data/test/tc/encoding.rb +30 -0
  274. data/test/tc/entary.rb +6 -5
  275. data/test/tc/eq.rb +2 -2
  276. data/test/tc/expand_path.rb +14 -14
  277. data/test/tc/ext.rb +7 -7
  278. data/test/tc/fileno.rb +3 -2
  279. data/test/tc/files_select.rb +1 -1
  280. data/test/tc/getrec.rb +2 -3
  281. data/test/tc/gzip.rb +5 -3
  282. data/test/tc/likeio.rb +5 -5
  283. data/test/tc/lineno.rb +1 -1
  284. data/test/tc/lines.rb +4 -4
  285. data/test/tc/misc.rb +29 -171
  286. data/test/tc/nolines.rb +4 -2
  287. data/test/tc/noqae.rb +12 -10
  288. data/test/tc/overload.rb +1 -2
  289. data/test/tc/pa.rb +25 -24
  290. data/test/tc/path_parts.rb +54 -20
  291. data/test/tc/paths.rb +3 -2
  292. data/test/tc/piper.rb +32 -31
  293. data/test/tc/programs_util.rb +9 -9
  294. data/test/tc/qae.rb +9 -8
  295. data/test/tc/qae_riovar.rb +9 -8
  296. data/test/tc/records.rb +3 -2
  297. data/test/tc/rename.rb +4 -4
  298. data/test/tc/riorl.rb +19 -19
  299. data/test/tc/rlparts.ans.yml +1161 -0
  300. data/test/tc/splitlines.rb +1 -1
  301. data/test/tc/splitpath.rb +9 -8
  302. data/test/tc/strio.rb +73 -0
  303. data/test/tc/symlink.rb +3 -2
  304. data/test/tc/symlink0.rb +4 -3
  305. data/test/tc/symlink1.rb +4 -3
  306. data/test/tc/temp.rb +40 -26
  307. data/test/tc/tempdir.rb +12 -12
  308. data/test/tc/testcase.rb +45 -31
  309. data/test/tc/tonl.rb +0 -1
  310. data/test/tc/truncate.rb +111 -13
  311. data/test/tc/yaml.rb +1 -1
  312. data/test/test_suite.rb +31 -0
  313. data/test/tests.rb +35 -0
  314. data/test/tsuite.rb +19 -0
  315. data/test/uriref/tc/basic.rb +171 -0
  316. data/test/uriref/tc/build.rb +30 -0
  317. data/test/uriref/tc/empty.rb +13 -0
  318. data/test/uriref/tc/route.rb +72 -0
  319. data/test/uriref/tests.rb +16 -0
  320. metadata +356 -424
  321. data/ChangeLog +0 -3122
  322. data/VERSION +0 -1
  323. data/build_doc.rb +0 -94
  324. data/doc/ANNOUNCE +0 -157
  325. data/doc/RELEASE_NOTES +0 -308
  326. data/doc/RIOIS +0 -215
  327. data/doc/generators/template/html/rio.css +0 -428
  328. data/doc/generators/template/html/rio.rb +0 -523
  329. data/doc/generators/template/html/ugly.rb +0 -132
  330. data/doc/pkg_def.rb +0 -60
  331. data/doc/rdoc/classes/Kernel.html +0 -133
  332. data/doc/rdoc/classes/Kernel.src/M000234.html +0 -18
  333. data/doc/rdoc/classes/RIO.html +0 -625
  334. data/doc/rdoc/classes/RIO.src/M000001.html +0 -18
  335. data/doc/rdoc/classes/RIO.src/M000002.html +0 -18
  336. data/doc/rdoc/classes/RIO.src/M000003.html +0 -18
  337. data/doc/rdoc/classes/RIO/Doc.html +0 -149
  338. data/doc/rdoc/classes/RIO/Doc/EXAMPLES.html +0 -432
  339. data/doc/rdoc/classes/RIO/Doc/HOWTO.html +0 -1084
  340. data/doc/rdoc/classes/RIO/Doc/INDEX.html +0 -368
  341. data/doc/rdoc/classes/RIO/Doc/INTRO.html +0 -1529
  342. data/doc/rdoc/classes/RIO/Doc/OPTIONAL.html +0 -221
  343. data/doc/rdoc/classes/RIO/Doc/SYNOPSIS.html +0 -336
  344. data/doc/rdoc/classes/RIO/IF.html +0 -165
  345. data/doc/rdoc/classes/RIO/IF/CSV.html +0 -203
  346. data/doc/rdoc/classes/RIO/IF/CSV.src/M000129.html +0 -19
  347. data/doc/rdoc/classes/RIO/IF/CSV.src/M000130.html +0 -16
  348. data/doc/rdoc/classes/RIO/IF/CSV.src/M000131.html +0 -16
  349. data/doc/rdoc/classes/RIO/IF/Dir.html +0 -343
  350. data/doc/rdoc/classes/RIO/IF/Dir.src/M000045.html +0 -16
  351. data/doc/rdoc/classes/RIO/IF/Dir.src/M000046.html +0 -16
  352. data/doc/rdoc/classes/RIO/IF/Dir.src/M000047.html +0 -16
  353. data/doc/rdoc/classes/RIO/IF/Dir.src/M000048.html +0 -16
  354. data/doc/rdoc/classes/RIO/IF/Dir.src/M000049.html +0 -16
  355. data/doc/rdoc/classes/RIO/IF/Dir.src/M000050.html +0 -16
  356. data/doc/rdoc/classes/RIO/IF/Dir.src/M000051.html +0 -16
  357. data/doc/rdoc/classes/RIO/IF/File.html +0 -223
  358. data/doc/rdoc/classes/RIO/IF/File.src/M000216.html +0 -16
  359. data/doc/rdoc/classes/RIO/IF/File.src/M000217.html +0 -16
  360. data/doc/rdoc/classes/RIO/IF/File.src/M000218.html +0 -16
  361. data/doc/rdoc/classes/RIO/IF/File.src/M000219.html +0 -16
  362. data/doc/rdoc/classes/RIO/IF/FileOrDir.html +0 -572
  363. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000117.html +0 -16
  364. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000118.html +0 -16
  365. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000119.html +0 -16
  366. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000120.html +0 -16
  367. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000121.html +0 -16
  368. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000122.html +0 -16
  369. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000123.html +0 -16
  370. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000124.html +0 -16
  371. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000125.html +0 -16
  372. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000126.html +0 -16
  373. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000127.html +0 -16
  374. data/doc/rdoc/classes/RIO/IF/FileOrDir.src/M000128.html +0 -16
  375. data/doc/rdoc/classes/RIO/IF/Grande.html +0 -1376
  376. data/doc/rdoc/classes/RIO/IF/Grande.src/M000052.html +0 -16
  377. data/doc/rdoc/classes/RIO/IF/Grande.src/M000053.html +0 -16
  378. data/doc/rdoc/classes/RIO/IF/Grande.src/M000054.html +0 -16
  379. data/doc/rdoc/classes/RIO/IF/Grande.src/M000055.html +0 -16
  380. data/doc/rdoc/classes/RIO/IF/Grande.src/M000056.html +0 -16
  381. data/doc/rdoc/classes/RIO/IF/Grande.src/M000057.html +0 -16
  382. data/doc/rdoc/classes/RIO/IF/Grande.src/M000058.html +0 -21
  383. data/doc/rdoc/classes/RIO/IF/Grande.src/M000059.html +0 -16
  384. data/doc/rdoc/classes/RIO/IF/Grande.src/M000060.html +0 -16
  385. data/doc/rdoc/classes/RIO/IF/Grande.src/M000061.html +0 -16
  386. data/doc/rdoc/classes/RIO/IF/Grande.src/M000062.html +0 -16
  387. data/doc/rdoc/classes/RIO/IF/Grande.src/M000063.html +0 -16
  388. data/doc/rdoc/classes/RIO/IF/Grande.src/M000064.html +0 -16
  389. data/doc/rdoc/classes/RIO/IF/Grande.src/M000065.html +0 -21
  390. data/doc/rdoc/classes/RIO/IF/Grande.src/M000066.html +0 -16
  391. data/doc/rdoc/classes/RIO/IF/Grande.src/M000067.html +0 -16
  392. data/doc/rdoc/classes/RIO/IF/Grande.src/M000068.html +0 -16
  393. data/doc/rdoc/classes/RIO/IF/Grande.src/M000069.html +0 -16
  394. data/doc/rdoc/classes/RIO/IF/Grande.src/M000070.html +0 -16
  395. data/doc/rdoc/classes/RIO/IF/GrandeEntry.html +0 -810
  396. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000107.html +0 -16
  397. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000108.html +0 -16
  398. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000109.html +0 -16
  399. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000110.html +0 -16
  400. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000111.html +0 -16
  401. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000112.html +0 -16
  402. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000113.html +0 -16
  403. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000114.html +0 -16
  404. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000115.html +0 -16
  405. data/doc/rdoc/classes/RIO/IF/GrandeEntry.src/M000116.html +0 -16
  406. data/doc/rdoc/classes/RIO/IF/GrandeStream.html +0 -1513
  407. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000071.html +0 -16
  408. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000072.html +0 -16
  409. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000073.html +0 -16
  410. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000074.html +0 -16
  411. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000075.html +0 -16
  412. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000076.html +0 -16
  413. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000077.html +0 -16
  414. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000078.html +0 -16
  415. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000079.html +0 -16
  416. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000080.html +0 -16
  417. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000081.html +0 -16
  418. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000082.html +0 -16
  419. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000083.html +0 -16
  420. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000084.html +0 -16
  421. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000085.html +0 -16
  422. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000086.html +0 -16
  423. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000087.html +0 -19
  424. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000088.html +0 -16
  425. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000089.html +0 -16
  426. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000090.html +0 -16
  427. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000091.html +0 -16
  428. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000092.html +0 -16
  429. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000093.html +0 -16
  430. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000094.html +0 -16
  431. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000095.html +0 -16
  432. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000096.html +0 -16
  433. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000097.html +0 -16
  434. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000098.html +0 -16
  435. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000099.html +0 -16
  436. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000100.html +0 -16
  437. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000101.html +0 -16
  438. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000102.html +0 -16
  439. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000103.html +0 -16
  440. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000104.html +0 -16
  441. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000105.html +0 -16
  442. data/doc/rdoc/classes/RIO/IF/GrandeStream.src/M000106.html +0 -16
  443. data/doc/rdoc/classes/RIO/IF/Path.html +0 -999
  444. data/doc/rdoc/classes/RIO/IF/Path.src/M000132.html +0 -16
  445. data/doc/rdoc/classes/RIO/IF/Path.src/M000133.html +0 -16
  446. data/doc/rdoc/classes/RIO/IF/Path.src/M000134.html +0 -16
  447. data/doc/rdoc/classes/RIO/IF/Path.src/M000135.html +0 -16
  448. data/doc/rdoc/classes/RIO/IF/Path.src/M000136.html +0 -16
  449. data/doc/rdoc/classes/RIO/IF/Path.src/M000137.html +0 -16
  450. data/doc/rdoc/classes/RIO/IF/Path.src/M000138.html +0 -16
  451. data/doc/rdoc/classes/RIO/IF/Path.src/M000139.html +0 -16
  452. data/doc/rdoc/classes/RIO/IF/Path.src/M000140.html +0 -16
  453. data/doc/rdoc/classes/RIO/IF/Path.src/M000141.html +0 -16
  454. data/doc/rdoc/classes/RIO/IF/Path.src/M000142.html +0 -16
  455. data/doc/rdoc/classes/RIO/IF/Path.src/M000143.html +0 -16
  456. data/doc/rdoc/classes/RIO/IF/Path.src/M000144.html +0 -16
  457. data/doc/rdoc/classes/RIO/IF/Path.src/M000145.html +0 -16
  458. data/doc/rdoc/classes/RIO/IF/Path.src/M000146.html +0 -16
  459. data/doc/rdoc/classes/RIO/IF/Path.src/M000147.html +0 -16
  460. data/doc/rdoc/classes/RIO/IF/Path.src/M000148.html +0 -16
  461. data/doc/rdoc/classes/RIO/IF/Path.src/M000149.html +0 -16
  462. data/doc/rdoc/classes/RIO/IF/Path.src/M000150.html +0 -16
  463. data/doc/rdoc/classes/RIO/IF/Path.src/M000151.html +0 -16
  464. data/doc/rdoc/classes/RIO/IF/Path.src/M000152.html +0 -16
  465. data/doc/rdoc/classes/RIO/IF/Path.src/M000153.html +0 -16
  466. data/doc/rdoc/classes/RIO/IF/Path.src/M000154.html +0 -18
  467. data/doc/rdoc/classes/RIO/IF/Path.src/M000155.html +0 -16
  468. data/doc/rdoc/classes/RIO/IF/Path.src/M000156.html +0 -16
  469. data/doc/rdoc/classes/RIO/IF/Path.src/M000157.html +0 -16
  470. data/doc/rdoc/classes/RIO/IF/Path.src/M000158.html +0 -16
  471. data/doc/rdoc/classes/RIO/IF/Path.src/M000159.html +0 -16
  472. data/doc/rdoc/classes/RIO/IF/Path.src/M000160.html +0 -16
  473. data/doc/rdoc/classes/RIO/IF/Path.src/M000161.html +0 -16
  474. data/doc/rdoc/classes/RIO/IF/Path.src/M000162.html +0 -16
  475. data/doc/rdoc/classes/RIO/IF/Path.src/M000163.html +0 -16
  476. data/doc/rdoc/classes/RIO/IF/RubyIO.html +0 -1416
  477. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000004.html +0 -16
  478. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000005.html +0 -16
  479. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000006.html +0 -16
  480. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000007.html +0 -16
  481. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000008.html +0 -16
  482. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000009.html +0 -16
  483. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000010.html +0 -16
  484. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000011.html +0 -16
  485. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000012.html +0 -16
  486. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000013.html +0 -16
  487. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000014.html +0 -16
  488. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000015.html +0 -16
  489. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000016.html +0 -16
  490. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000017.html +0 -16
  491. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000018.html +0 -16
  492. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000019.html +0 -16
  493. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000020.html +0 -16
  494. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000021.html +0 -16
  495. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000022.html +0 -16
  496. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000023.html +0 -16
  497. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000024.html +0 -16
  498. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000025.html +0 -16
  499. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000026.html +0 -16
  500. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000027.html +0 -16
  501. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000028.html +0 -16
  502. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000029.html +0 -16
  503. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000030.html +0 -16
  504. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000031.html +0 -16
  505. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000032.html +0 -16
  506. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000033.html +0 -16
  507. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000034.html +0 -16
  508. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000035.html +0 -16
  509. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000036.html +0 -16
  510. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000037.html +0 -16
  511. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000038.html +0 -16
  512. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000039.html +0 -16
  513. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000040.html +0 -16
  514. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000041.html +0 -16
  515. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000042.html +0 -16
  516. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000043.html +0 -16
  517. data/doc/rdoc/classes/RIO/IF/RubyIO.src/M000044.html +0 -16
  518. data/doc/rdoc/classes/RIO/IF/String.html +0 -203
  519. data/doc/rdoc/classes/RIO/IF/String.src/M000213.html +0 -16
  520. data/doc/rdoc/classes/RIO/IF/String.src/M000214.html +0 -16
  521. data/doc/rdoc/classes/RIO/IF/String.src/M000215.html +0 -16
  522. data/doc/rdoc/classes/RIO/IF/Test.html +0 -990
  523. data/doc/rdoc/classes/RIO/IF/Test.src/M000177.html +0 -16
  524. data/doc/rdoc/classes/RIO/IF/Test.src/M000178.html +0 -16
  525. data/doc/rdoc/classes/RIO/IF/Test.src/M000179.html +0 -16
  526. data/doc/rdoc/classes/RIO/IF/Test.src/M000180.html +0 -16
  527. data/doc/rdoc/classes/RIO/IF/Test.src/M000181.html +0 -16
  528. data/doc/rdoc/classes/RIO/IF/Test.src/M000182.html +0 -16
  529. data/doc/rdoc/classes/RIO/IF/Test.src/M000183.html +0 -16
  530. data/doc/rdoc/classes/RIO/IF/Test.src/M000184.html +0 -16
  531. data/doc/rdoc/classes/RIO/IF/Test.src/M000185.html +0 -16
  532. data/doc/rdoc/classes/RIO/IF/Test.src/M000186.html +0 -16
  533. data/doc/rdoc/classes/RIO/IF/Test.src/M000187.html +0 -16
  534. data/doc/rdoc/classes/RIO/IF/Test.src/M000188.html +0 -16
  535. data/doc/rdoc/classes/RIO/IF/Test.src/M000189.html +0 -16
  536. data/doc/rdoc/classes/RIO/IF/Test.src/M000190.html +0 -16
  537. data/doc/rdoc/classes/RIO/IF/Test.src/M000191.html +0 -16
  538. data/doc/rdoc/classes/RIO/IF/Test.src/M000192.html +0 -16
  539. data/doc/rdoc/classes/RIO/IF/Test.src/M000193.html +0 -16
  540. data/doc/rdoc/classes/RIO/IF/Test.src/M000194.html +0 -16
  541. data/doc/rdoc/classes/RIO/IF/Test.src/M000195.html +0 -16
  542. data/doc/rdoc/classes/RIO/IF/Test.src/M000196.html +0 -16
  543. data/doc/rdoc/classes/RIO/IF/Test.src/M000197.html +0 -16
  544. data/doc/rdoc/classes/RIO/IF/Test.src/M000198.html +0 -16
  545. data/doc/rdoc/classes/RIO/IF/Test.src/M000199.html +0 -16
  546. data/doc/rdoc/classes/RIO/IF/Test.src/M000200.html +0 -16
  547. data/doc/rdoc/classes/RIO/IF/Test.src/M000201.html +0 -16
  548. data/doc/rdoc/classes/RIO/IF/Test.src/M000202.html +0 -16
  549. data/doc/rdoc/classes/RIO/IF/Test.src/M000203.html +0 -16
  550. data/doc/rdoc/classes/RIO/IF/Test.src/M000204.html +0 -16
  551. data/doc/rdoc/classes/RIO/IF/Test.src/M000205.html +0 -16
  552. data/doc/rdoc/classes/RIO/IF/Test.src/M000206.html +0 -16
  553. data/doc/rdoc/classes/RIO/IF/Test.src/M000207.html +0 -16
  554. data/doc/rdoc/classes/RIO/IF/Test.src/M000208.html +0 -16
  555. data/doc/rdoc/classes/RIO/IF/Test.src/M000209.html +0 -16
  556. data/doc/rdoc/classes/RIO/IF/Test.src/M000210.html +0 -16
  557. data/doc/rdoc/classes/RIO/IF/Test.src/M000211.html +0 -16
  558. data/doc/rdoc/classes/RIO/IF/Test.src/M000212.html +0 -16
  559. data/doc/rdoc/classes/RIO/IF/YAML.html +0 -517
  560. data/doc/rdoc/classes/RIO/IF/YAML.src/M000164.html +0 -19
  561. data/doc/rdoc/classes/RIO/IF/YAML.src/M000165.html +0 -16
  562. data/doc/rdoc/classes/RIO/IF/YAML.src/M000166.html +0 -16
  563. data/doc/rdoc/classes/RIO/IF/YAML.src/M000167.html +0 -16
  564. data/doc/rdoc/classes/RIO/IF/YAML.src/M000168.html +0 -16
  565. data/doc/rdoc/classes/RIO/IF/YAML.src/M000169.html +0 -16
  566. data/doc/rdoc/classes/RIO/IF/YAML.src/M000170.html +0 -16
  567. data/doc/rdoc/classes/RIO/IF/YAML.src/M000171.html +0 -16
  568. data/doc/rdoc/classes/RIO/IF/YAML.src/M000172.html +0 -16
  569. data/doc/rdoc/classes/RIO/IF/YAML.src/M000173.html +0 -16
  570. data/doc/rdoc/classes/RIO/IF/YAML.src/M000174.html +0 -16
  571. data/doc/rdoc/classes/RIO/IF/YAML.src/M000175.html +0 -16
  572. data/doc/rdoc/classes/RIO/IF/YAML.src/M000176.html +0 -16
  573. data/doc/rdoc/classes/RIO/Rio.html +0 -508
  574. data/doc/rdoc/classes/RIO/Rio.src/M000220.html +0 -18
  575. data/doc/rdoc/classes/RIO/Rio.src/M000221.html +0 -20
  576. data/doc/rdoc/classes/RIO/Rio.src/M000222.html +0 -27
  577. data/doc/rdoc/classes/RIO/Rio.src/M000223.html +0 -16
  578. data/doc/rdoc/classes/RIO/Rio.src/M000225.html +0 -19
  579. data/doc/rdoc/classes/RIO/Rio.src/M000226.html +0 -20
  580. data/doc/rdoc/classes/RIO/Rio.src/M000227.html +0 -16
  581. data/doc/rdoc/classes/RIO/Rio.src/M000228.html +0 -16
  582. data/doc/rdoc/classes/RIO/Rio.src/M000229.html +0 -16
  583. data/doc/rdoc/classes/RIO/Rio.src/M000230.html +0 -16
  584. data/doc/rdoc/classes/RIO/Rio.src/M000231.html +0 -16
  585. data/doc/rdoc/classes/RIO/Rio.src/M000232.html +0 -16
  586. data/doc/rdoc/classes/RIO/Rio.src/M000233.html +0 -16
  587. data/doc/rdoc/created.rid +0 -1
  588. data/doc/rdoc/files/README.html +0 -232
  589. data/doc/rdoc/files/lib/rio/constructor_rb.html +0 -141
  590. data/doc/rdoc/files/lib/rio/doc/EXAMPLES_rb.html +0 -134
  591. data/doc/rdoc/files/lib/rio/doc/HOWTO_rb.html +0 -134
  592. data/doc/rdoc/files/lib/rio/doc/INDEX_rb.html +0 -134
  593. data/doc/rdoc/files/lib/rio/doc/INTRO_rb.html +0 -134
  594. data/doc/rdoc/files/lib/rio/doc/OPTIONAL_rb.html +0 -134
  595. data/doc/rdoc/files/lib/rio/doc/SYNOPSIS_rb.html +0 -134
  596. data/doc/rdoc/files/lib/rio/if/basic_rb.html +0 -134
  597. data/doc/rdoc/files/lib/rio/if/csv_rb.html +0 -134
  598. data/doc/rdoc/files/lib/rio/if/dir_rb.html +0 -134
  599. data/doc/rdoc/files/lib/rio/if/file_rb.html +0 -134
  600. data/doc/rdoc/files/lib/rio/if/fileordir_rb.html +0 -134
  601. data/doc/rdoc/files/lib/rio/if/grande_entry_rb.html +0 -134
  602. data/doc/rdoc/files/lib/rio/if/grande_rb.html +0 -141
  603. data/doc/rdoc/files/lib/rio/if/grande_stream_rb.html +0 -134
  604. data/doc/rdoc/files/lib/rio/if/internal_rb.html +0 -134
  605. data/doc/rdoc/files/lib/rio/if/path_rb.html +0 -134
  606. data/doc/rdoc/files/lib/rio/if/rubyio_rb.html +0 -134
  607. data/doc/rdoc/files/lib/rio/if/string_rb.html +0 -134
  608. data/doc/rdoc/files/lib/rio/if/temp_rb.html +0 -134
  609. data/doc/rdoc/files/lib/rio/if/test_rb.html +0 -134
  610. data/doc/rdoc/files/lib/rio/if/yaml_rb.html +0 -134
  611. data/doc/rdoc/files/lib/rio/kernel_rb.html +0 -142
  612. data/doc/rdoc/files/lib/rio_rb.html +0 -153
  613. data/doc/rdoc/fr_class_index.html +0 -49
  614. data/doc/rdoc/fr_file_index.html +0 -51
  615. data/doc/rdoc/fr_method_index.html +0 -260
  616. data/doc/rdoc/index.html +0 -30
  617. data/doc/rdoc/rdoc-style.css +0 -428
  618. data/doc/rfc1738.txt +0 -1403
  619. data/doc/rfc959.txt +0 -3933
  620. data/ex/catcsv.rb +0 -64
  621. data/ex/colx.rb +0 -8
  622. data/ex/findinruby +0 -15
  623. data/ex/findruby +0 -14
  624. data/ex/passwd_report.rb +0 -8
  625. data/ex/prompt.rb +0 -25
  626. data/ex/rgb.txt.gz +0 -0
  627. data/ex/riocat +0 -42
  628. data/ex/riogunzip +0 -31
  629. data/ex/riogzip +0 -24
  630. data/ex/rioprompt.rb +0 -10
  631. data/ex/targz2zip +0 -17
  632. data/ex/tonl +0 -10
  633. data/setup.rb +0 -1360
  634. data/test/ftp/all.rb +0 -9
  635. data/test/ftp/anon_copy_data.rb +0 -36
  636. data/test/ftp/anon_misc.rb +0 -124
  637. data/test/ftp/anon_read.rb +0 -105
  638. data/test/ftp/anon_special.rb +0 -68
  639. data/test/ftp/anon_write.rb +0 -70
  640. data/test/ftp/ftp2ftp.rb +0 -51
  641. data/test/tc/abs.rb +0 -355
@@ -1,6 +1,6 @@
1
1
  #--
2
- # ===============================================================================
3
- # Copyright (c) 2005,2006,2007,2008 Christopher Kleckner
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(field_separator=',',record_separator=nil,&block)
67
- target.csv(field_separator,record_separator,&block);
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.
@@ -1,6 +1,7 @@
1
+ # -*- coding: utf-8 -*-
1
2
  #--
2
- # ===============================================================================
3
- # Copyright (c) 2005,2006,2007,2008 Christopher Kleckner
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
  #
@@ -1,6 +1,6 @@
1
1
  #--
2
- # ===============================================================================
3
- # Copyright (c) 2005,2006,2007,2008 Christopher Kleckner
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!, IF::Dir#rmdir.
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
 
@@ -1,6 +1,6 @@
1
1
  #--
2
- # ===============================================================================
3
- # Copyright (c) 2005,2006,2007,2008 Christopher Kleckner
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=, IF::Path#filename=,
94
- # IF::Path#basename=, and IF::Path#extname= also cause the object on the filesystem
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=, IF::Path#filename=, IF::Path#basename=, and IF::Path#extname=
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
- # Synonym for +IF::FileOrDir#seek+, but returns the position parameter.
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(".")
@@ -1,6 +1,6 @@
1
1
  #--
2
- # ===============================================================================
3
- # Copyright (c) 2005,2006,2007,2008 Christopher Kleckner
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::Grande#[] (subscript operator)
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::Grande#[] will be applied to the closest.
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::Grande#[]
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::Grande#<, IF::Grande#<<, IF::Grande#>>, and IF::Grande#>
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::Grande#>>, IF::Grande#|
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::Grande#> (copy-to grande operator)
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::Grande#> (copy-to)
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::Grande#> (copy-to) except that it opens the destination
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::Grande#> (copy-to) except the unopened object are
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::Grande#> (copy-to)
474
+ # directory, this is identical to {#>}[link:RIO/IF/Grande.html#method-i-3E] (copy-to)
486
475
  #
487
- # See IF::Grande#> (copy-to)
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::Grande#>> (append-to grande operator)
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::Grande#< (copy-from) except unopened Rios are opened for append.
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::Grande#>> (append-to) operator
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::Grande#< (copy-from)
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::Grande#<< (append-from grande operator)
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::Grande#> (copy-to), IF::Grande#each, IF::Grande#[]
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::Grande#< (copy-from grande operator)
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::Grande#[]
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
  #