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,132 +0,0 @@
1
- # Copyright (c) 2005,2006,2007,2008 Christopher Kleckner
2
- # All rights reserved
3
- #
4
- # This file is part of the Rio library for ruby.
5
- #
6
- # Rio is free software; you can redistribute it and/or modify
7
- # it under the terms of the GNU General Public License as published by
8
- # the Free Software Foundation; either version 2 of the License, or
9
- # (at your option) any later version.
10
- #
11
- # Rio is distributed in the hope that it will be useful,
12
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- # GNU General Public License for more details.
15
- #
16
- # You should have received a copy of the GNU General Public License
17
- # along with Rio; if not, write to the Free Software
18
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19
- #
20
-
21
-
22
- # This is disgraceful -- a hack required to exert control over how rubygems builds
23
- # documentation for Rio. My desire to have the command "gem install rio" build the
24
- # docs correctly overrides my sense of propriety in this case. I apologize to anyone
25
- # who should have to look at this ugliness.
26
-
27
- # Begin UGLY
28
- module Generators #:nodoc: all
29
- #####################################################################
30
- #
31
- # Handle common markup tasks for the various Html classes
32
- #
33
-
34
- module MarkUp
35
-
36
- # Convert a string in markup format into HTML. We keep a cached
37
- # SimpleMarkup object lying around after the first time we're
38
- # called per object.
39
-
40
- def markup(str, remove_para=false)
41
- return '' unless str
42
- unless defined? @markup
43
- #p 'RIO MARKUP'
44
- @markup = SM::SimpleMarkup.new
45
-
46
- # class names, variable names, file names, or instance variables
47
- # @markup.add_special(/(
48
- # \b([A-Z]\w*(::\w+)*[.\#]\w+) # A::B.meth
49
- # | \b([A-Z]\w+(::\w+)*) # A::B..
50
- # | \#\w+[!?=]? # #meth_name
51
- # | \b\w+([_\/\.]+\w+)+[!?=]? # meth_name
52
- # )/x,
53
- # :CROSSREF)
54
- meth_name_re = '\w+[!?=]?|<{1,2}|>{1,2}|\[\]|\||\/|\+@?|={2,3}|=~'
55
- @markup.add_special(/(
56
- \b([A-Z]\w*(::\w+)*[.\#](#{meth_name_re})) # A::B.meth
57
- | \b([A-Z]\w+(::\w+)*) # A::B..
58
- | \#(#{meth_name_re}) # #meth_name
59
- | \b\w+([_\/\.]+\w+)+[!?=]? # meth_name
60
- )/x,
61
- :CROSSREF)
62
-
63
- # external hyperlinks
64
- @markup.add_special(/((link:|https?:|mailto:|ftp:|www\.)\S+\w)/, :HYPERLINK)
65
-
66
- # and links of the form <text>[<url>]
67
- @markup.add_special(/(((\{.*?\})|\b\S+?)\[\S+?\.\S+?\])/, :TIDYLINK)
68
- # @markup.add_special(/\b(\S+?\[\S+?\.\S+?\])/, :TIDYLINK)
69
-
70
- end
71
- unless defined? @html_formatter
72
- @html_formatter = HyperlinkHtml.new(self.path, self)
73
- end
74
-
75
- # Convert leading comment markers to spaces, but only
76
- # if all non-blank lines have them
77
-
78
- if str =~ /^(?>\s*)[^\#]/
79
- content = str
80
- else
81
- content = str.gsub(/^\s*(#+)/) { $1.tr('#',' ') }
82
- end
83
-
84
- res = @markup.convert(content, @html_formatter)
85
- if remove_para
86
- res.sub!(/^<p>/, '')
87
- res.sub!(/<\/p>$/, '')
88
- end
89
- res
90
- end
91
- end
92
- end
93
- module Generators
94
- class HyperlinkHtml < SM::ToHtml
95
- def handle_special_CROSSREF(special)
96
- #p 'handle_special_CROSSREF'
97
- name = special.text
98
- if name[0,1] == '#'
99
- lookup = name[1..-1]
100
- name = lookup unless Options.instance.show_hash
101
- else
102
- lookup = name
103
- end
104
-
105
- if /([A-Z].*)[.\#](.*)/ =~ lookup
106
- container = $1
107
- method = $2
108
- ref = @context.find_symbol(container, method)
109
- else
110
- ref = @context.find_symbol(lookup)
111
- end
112
-
113
- if ref and ref.document_self
114
- #print "#{name} =>"
115
- #name.sub!(/^(RIO::)?IF::.+\#/,'Rio#')
116
- name.sub!(/^(RIO::)?IF::.+\#/,'')
117
- #name.sub!(/^#/,'Rio#')
118
- name.sub!(/^#/,'')
119
- #puts " #{name}"
120
- if %w[Rio Grande String].include?(name) or name =~ /^(Dir)/
121
- #if %w[Rio Grande String].include?(name)
122
- name
123
- else
124
- "<a href=\"#{ref.as_href(@from_path)}\">#{name}</a>"
125
- end
126
- else
127
- name
128
- end
129
- end
130
- end
131
- end
132
- # End UGLY
@@ -1,60 +0,0 @@
1
- #--
2
- # ===============================================================================
3
- # Copyright (c) 2005,2006,2007,2008 Christopher Kleckner
4
- # All rights reserved
5
- #
6
- # This file is part of the Rio library for ruby.
7
- #
8
- # Rio is free software; you can redistribute it and/or modify
9
- # it under the terms of the GNU General Public License as published by
10
- # the Free Software Foundation; either version 2 of the License, or
11
- # (at your option) any later version.
12
- #
13
- # Rio is distributed in the hope that it will be useful,
14
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
15
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
- # GNU General Public License for more details.
17
- #
18
- # You should have received a copy of the GNU General Public License
19
- # along with Rio; if not, write to the Free Software
20
- # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
- # ===============================================================================
22
- #
23
- # To create the documentation for Rio run the command
24
- # ruby build_doc.rb
25
- # from the distribution directory.
26
- #++
27
-
28
- require 'rio/doc'
29
-
30
- module PKG
31
- NAME = "rio"
32
- TITLE = RIO::TITLE
33
- VERSION = RIO::VERSION
34
- FULLNAME = PKG::NAME + "-" + PKG::VERSION
35
- SUMMARY = RIO::SUMMARY
36
- DESCRIPTION = RIO::DESCRIPTION
37
- AUTHOR = "Christopher Kleckner"
38
- EMAIL = "rio4ruby@rubyforge.org"
39
- RUBYFORGE_PROJECT = PKG::NAME
40
- HOMEPAGE = "http://#{PKG::RUBYFORGE_PROJECT}.rubyforge.org/"
41
- RUBYFORGE_URL = "http://rubyforge.org/projects/#{PKG::RUBYFORGE_PROJECT}"
42
- RDOC_OPTIONS = ['--show-hash','--line-numbers','-mRIO::Doc::SYNOPSIS','-Tdoc/generators/template/html/rio.rb']
43
- module FILES
44
- SRC = rio('lib').norecurse('.svn').files['*.rb']
45
- DOC = rio['README'] + rio('lib')['rio.rb'] + rio('lib/rio/doc/')['*.rb'] +
46
- rio('lib/rio/if/')['*.rb'] + rio('lib/rio')['kernel.rb','constructor.rb']
47
- XMP = rio('ex').entries[]
48
- D2 = rio('doc').norecurse('.svn').all.files.skip.dirs['rdoc','.svn']
49
- TST = rio('test').norecurse('.svn').all.files('*.rb').skip.dirs['qp','.svn']
50
- MSC = rio.files['setup.rb', 'build_doc.rb', 'COPYING', 'Rakefile', 'ChangeLog', 'VERSION']
51
-
52
- [SRC,DOC,XMP,D2,TST,MSC].each do |fary|
53
- fary.map! { |f| f.to_s }
54
- end
55
- DIST = SRC + DOC + XMP + D2 + TST + MSC
56
- end
57
-
58
- OUT_DIR = 'pkg'
59
- OUT_FILES = %w[.gem .tar.gz .zip].map { |ex| PKG::OUT_DIR + '/' + FULLNAME + ex }
60
- end
@@ -1,133 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: Kernel</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <meta name="revisit-after" content="5 days">
12
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
13
- <script type="text/javascript">
14
- // <![CDATA[
15
-
16
- function popupCode( url ) {
17
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
18
- }
19
-
20
- function toggleCode( id ) {
21
- if ( document.getElementById )
22
- elem = document.getElementById( id );
23
- else if ( document.all )
24
- elem = eval( "document.all." + id );
25
- else
26
- return false;
27
-
28
- elemStyle = elem.style;
29
-
30
- if ( elemStyle.display != "block" ) {
31
- elemStyle.display = "block"
32
- } else {
33
- elemStyle.display = "none"
34
- }
35
-
36
- return true;
37
- }
38
-
39
- // Make codeblocks hidden by default
40
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
41
-
42
- // ]]>
43
- </script>
44
-
45
- </head>
46
- <body>
47
-
48
-
49
-
50
- <div id="classHeader">
51
- <table class="header-table">
52
- <tr class="top-aligned-row">
53
- <td class="class-mod"><strong>Module</strong></td>
54
- <td class="class-name-in-header">Kernel</td>
55
- <td rowspan="2" class="class-header-space-col"></td>
56
- <td rowspan="2">
57
- <a class="in-url" href="../files/lib/rio/kernel_rb.html">
58
- lib/rio/kernel.rb
59
- </a>
60
- &nbsp;&nbsp;
61
- </td>
62
- </tr>
63
-
64
- </table>
65
- </div>
66
- <!-- banner header -->
67
-
68
- <div id="bodyContent">
69
-
70
-
71
-
72
- <div id="contextContent">
73
-
74
-
75
-
76
- </div>
77
-
78
- <div id="method-list">
79
- <h3 class="section-bar">Methods</h3>
80
-
81
- <div class="name-list">
82
- <a href="#M000234">rio</a>&nbsp;&nbsp;
83
- </div>
84
- </div>
85
-
86
-
87
-
88
- <!-- if includes -->
89
-
90
- <div id="section">
91
-
92
-
93
-
94
-
95
-
96
-
97
-
98
-
99
- <!-- if method_list -->
100
- <div id="methods">
101
- <h3 class="section-bar">Public Instance methods</h3>
102
-
103
- <div id="method-M000234" class="method-detail">
104
- <a name="M000234"></a>
105
-
106
- <div class="method-heading">
107
- <a href="Kernel.src/M000234.html" target="Code" class="method-signature"
108
- onclick="popupCode('Kernel.src/M000234.html');return false;">
109
- <span class="method-name">rio</span><span class="method-args">(*args) {|self| ...}</span>
110
- </a>
111
- </div>
112
-
113
- <div class="method-description">
114
- <p>
115
- Shortcut for <a href="RIO.html#M000001">RIO.rio</a>
116
- </p>
117
- </div>
118
- </div>
119
-
120
-
121
- </div>
122
- </div>
123
-
124
-
125
- </div>
126
-
127
-
128
- <div id="validator-badges">
129
- <p><small>Copyright &copy; 2005,2006,2007,2008 Christopher Kleckner. <a href="http://www.gnu.org/licenses/gpl.html">All rights reserved</a>.</small></p>
130
- </div>
131
-
132
- </body>
133
- </html>
@@ -1,18 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html>
7
- <head>
8
- <title>rio (Kernel)</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
11
- </head>
12
- <body class="standalone-code">
13
- <pre> <span class="ruby-comment cmt"># File lib/rio/kernel.rb, line 41</span>
14
- 41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rio</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>) <span class="ruby-comment cmt"># :yields: self</span>
15
- 42: <span class="ruby-constant">RIO</span><span class="ruby-operator">::</span><span class="ruby-constant">Rio</span>.<span class="ruby-identifier">rio</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>,<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
16
- 43: <span class="ruby-keyword kw">end</span></pre>
17
- </body>
18
- </html>
@@ -1,625 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
-
6
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
7
- <head>
8
- <title>Module: RIO</title>
9
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
10
- <meta http-equiv="Content-Script-Type" content="text/javascript" />
11
- <meta name="revisit-after" content="5 days">
12
- <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
13
- <script type="text/javascript">
14
- // <![CDATA[
15
-
16
- function popupCode( url ) {
17
- window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
18
- }
19
-
20
- function toggleCode( id ) {
21
- if ( document.getElementById )
22
- elem = document.getElementById( id );
23
- else if ( document.all )
24
- elem = eval( "document.all." + id );
25
- else
26
- return false;
27
-
28
- elemStyle = elem.style;
29
-
30
- if ( elemStyle.display != "block" ) {
31
- elemStyle.display = "block"
32
- } else {
33
- elemStyle.display = "none"
34
- }
35
-
36
- return true;
37
- }
38
-
39
- // Make codeblocks hidden by default
40
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
41
-
42
- // ]]>
43
- </script>
44
-
45
- </head>
46
- <body>
47
-
48
-
49
-
50
- <div id="classHeader">
51
- <table class="header-table">
52
- <tr class="top-aligned-row">
53
- <td class="class-mod"><strong>Module</strong></td>
54
- <td class="class-name-in-header">RIO</td>
55
- <td rowspan="2" class="class-header-space-col"></td>
56
- <td rowspan="2">
57
- <a class="in-url" href="../files/lib/rio_rb.html">
58
- lib/rio.rb
59
- </a>
60
- &nbsp;&nbsp;
61
- <a class="in-url" href="../files/lib/rio/doc/EXAMPLES_rb.html">
62
- lib/rio/doc/EXAMPLES.rb
63
- </a>
64
- &nbsp;&nbsp;
65
- <a class="in-url" href="../files/lib/rio/doc/HOWTO_rb.html">
66
- lib/rio/doc/HOWTO.rb
67
- </a>
68
- &nbsp;&nbsp;
69
- <a class="in-url" href="../files/lib/rio/doc/INDEX_rb.html">
70
- lib/rio/doc/INDEX.rb
71
- </a>
72
- &nbsp;&nbsp;
73
- <a class="in-url" href="../files/lib/rio/doc/INTRO_rb.html">
74
- lib/rio/doc/INTRO.rb
75
- </a>
76
- &nbsp;&nbsp;
77
- <a class="in-url" href="../files/lib/rio/doc/OPTIONAL_rb.html">
78
- lib/rio/doc/OPTIONAL.rb
79
- </a>
80
- &nbsp;&nbsp;
81
- <a class="in-url" href="../files/lib/rio/doc/SYNOPSIS_rb.html">
82
- lib/rio/doc/SYNOPSIS.rb
83
- </a>
84
- &nbsp;&nbsp;
85
- <a class="in-url" href="../files/lib/rio/if/basic_rb.html">
86
- lib/rio/if/basic.rb
87
- </a>
88
- &nbsp;&nbsp;
89
- <a class="in-url" href="../files/lib/rio/if/csv_rb.html">
90
- lib/rio/if/csv.rb
91
- </a>
92
- &nbsp;&nbsp;
93
- <a class="in-url" href="../files/lib/rio/if/dir_rb.html">
94
- lib/rio/if/dir.rb
95
- </a>
96
- &nbsp;&nbsp;
97
- <a class="in-url" href="../files/lib/rio/if/file_rb.html">
98
- lib/rio/if/file.rb
99
- </a>
100
- &nbsp;&nbsp;
101
- <a class="in-url" href="../files/lib/rio/if/fileordir_rb.html">
102
- lib/rio/if/fileordir.rb
103
- </a>
104
- &nbsp;&nbsp;
105
- <a class="in-url" href="../files/lib/rio/if/grande_rb.html">
106
- lib/rio/if/grande.rb
107
- </a>
108
- &nbsp;&nbsp;
109
- <a class="in-url" href="../files/lib/rio/if/grande_entry_rb.html">
110
- lib/rio/if/grande_entry.rb
111
- </a>
112
- &nbsp;&nbsp;
113
- <a class="in-url" href="../files/lib/rio/if/grande_stream_rb.html">
114
- lib/rio/if/grande_stream.rb
115
- </a>
116
- &nbsp;&nbsp;
117
- <a class="in-url" href="../files/lib/rio/if/internal_rb.html">
118
- lib/rio/if/internal.rb
119
- </a>
120
- &nbsp;&nbsp;
121
- <a class="in-url" href="../files/lib/rio/if/path_rb.html">
122
- lib/rio/if/path.rb
123
- </a>
124
- &nbsp;&nbsp;
125
- <a class="in-url" href="../files/lib/rio/if/rubyio_rb.html">
126
- lib/rio/if/rubyio.rb
127
- </a>
128
- &nbsp;&nbsp;
129
- <a class="in-url" href="../files/lib/rio/if/string_rb.html">
130
- lib/rio/if/string.rb
131
- </a>
132
- &nbsp;&nbsp;
133
- <a class="in-url" href="../files/lib/rio/if/temp_rb.html">
134
- lib/rio/if/temp.rb
135
- </a>
136
- &nbsp;&nbsp;
137
- <a class="in-url" href="../files/lib/rio/if/test_rb.html">
138
- lib/rio/if/test.rb
139
- </a>
140
- &nbsp;&nbsp;
141
- <a class="in-url" href="../files/lib/rio/if/yaml_rb.html">
142
- lib/rio/if/yaml.rb
143
- </a>
144
- &nbsp;&nbsp;
145
- <a class="in-url" href="../files/lib/rio/constructor_rb.html">
146
- lib/rio/constructor.rb
147
- </a>
148
- &nbsp;&nbsp;
149
- <a class="in-url" href="../files/lib/rio/kernel_rb.html">
150
- lib/rio/kernel.rb
151
- </a>
152
- &nbsp;&nbsp;
153
- </td>
154
- </tr>
155
-
156
- </table>
157
- </div>
158
- <!-- banner header -->
159
-
160
- <div id="bodyContent">
161
-
162
-
163
-
164
- <div id="contextContent">
165
-
166
- <div id="description">
167
- <p>
168
- To create the documentation for Rio run the command
169
- </p>
170
- <pre>
171
- ruby build_doc.rb
172
- </pre>
173
- <p>
174
- from the distribution directory.
175
- </p>
176
- <p>
177
- Suggested Reading
178
- </p>
179
- <ul>
180
- <li><a href="RIO/Doc/SYNOPSIS.html">RIO::Doc::SYNOPSIS</a>
181
-
182
- </li>
183
- <li><a href="RIO/Doc/INTRO.html">RIO::Doc::INTRO</a>
184
-
185
- </li>
186
- <li><a href="RIO/Doc/HOWTO.html">RIO::Doc::HOWTO</a>
187
-
188
- </li>
189
- <li><a href="RIO/Doc/EXAMPLES.html">RIO::Doc::EXAMPLES</a>
190
-
191
- </li>
192
- <li><a href="RIO/Rio.html">RIO::Rio</a>
193
-
194
- </li>
195
- </ul>
196
-
197
- </div>
198
-
199
-
200
- </div>
201
-
202
- <div id="method-list">
203
- <h3 class="section-bar">Methods</h3>
204
-
205
- <div class="name-list">
206
- <a href="#M000002">cwd</a>&nbsp;&nbsp;
207
- <a href="#M000001">rio</a>&nbsp;&nbsp;
208
- <a href="#M000003">root</a>&nbsp;&nbsp;
209
- </div>
210
- </div>
211
-
212
-
213
-
214
- <!-- if includes -->
215
-
216
- <div id="section">
217
-
218
- <div id="class-list">
219
- <h3 class="section-bar">Classes and Modules</h3>
220
-
221
- Module <a href="RIO/Doc.html" class="link">RIO::Doc</a><br />
222
- Module <a href="RIO/IF.html" class="link">RIO::IF</a><br />
223
- Class <a href="RIO/Rio.html" class="link">RIO::Rio</a><br />
224
-
225
- </div>
226
-
227
-
228
-
229
-
230
-
231
-
232
-
233
- <!-- if method_list -->
234
- <div id="methods">
235
- <h3 class="section-bar">Public Instance methods</h3>
236
-
237
- <div id="method-M000002" class="method-detail">
238
- <a name="M000002"></a>
239
-
240
- <div class="method-heading">
241
- <a href="RIO.src/M000002.html" target="Code" class="method-signature"
242
- onclick="popupCode('RIO.src/M000002.html');return false;">
243
- <span class="method-name">cwd</span><span class="method-args">(*args) {|self| ...}</span>
244
- </a>
245
- </div>
246
-
247
- <div class="method-description">
248
- <p>
249
- Create a Rio as with <a href="RIO.html#M000001">RIO#rio</a> which refers to
250
- the current working directory
251
- </p>
252
- <pre>
253
- wd = RIO.cwd
254
- </pre>
255
- <p>
256
- If passed arguments they are treated as if
257
- </p>
258
- <pre>
259
- rio(RIO.cwd,*args)
260
- </pre>
261
- <p>
262
- had been called
263
- </p>
264
- </div>
265
- </div>
266
-
267
- <div id="method-M000001" class="method-detail">
268
- <a name="M000001"></a>
269
-
270
- <div class="method-heading">
271
- <a href="RIO.src/M000001.html" target="Code" class="method-signature"
272
- onclick="popupCode('RIO.src/M000001.html');return false;">
273
- <span class="method-name">rio</span><span class="method-args">(*args) {|self| ...}</span>
274
- </a>
275
- </div>
276
-
277
- <div class="method-description">
278
- <p>
279
- Rio Constructor
280
- </p>
281
- <p>
282
- For purposes of discussion, we divide Rios into two catagories, those that
283
- have a path and those that don&#8217;t.
284
- </p>
285
- <h4>Creating a Rio that has a path</h4>
286
- <p>
287
- To create a Rio that has a path the arguments to <tt>rio</tt> may be:
288
- </p>
289
- <ul>
290
- <li>a string representing the entire path. The separator used for Rios is as
291
- specified in RFC1738 (&#8217;/&#8217;).
292
-
293
- <pre>
294
- rio('adir/afile')
295
- </pre>
296
- </li>
297
- <li>a string representing a fully qualified <tt>file</tt> URL as per RFC1738
298
-
299
- <pre>
300
- rio('file:///atopleveldir/adir/afile')
301
- </pre>
302
- </li>
303
- <li>a <tt>URI</tt> object representing a <tt>file</tt> or generic <tt>URL</tt>
304
-
305
- <pre>
306
- rio(URI('adir/afile'))
307
- </pre>
308
- </li>
309
- <li>the components of a path as separate arguments
310
-
311
- <pre>
312
- rio('adir','afile')
313
- </pre>
314
- </li>
315
- <li>the components of a path as an array of separate arguments
316
-
317
- <pre>
318
- rio(%w/adir afile/)
319
- </pre>
320
- </li>
321
- <li>another Rio
322
-
323
- <pre>
324
- another_rio = rio('adir/afile')
325
- rio(another_rio)
326
- </pre>
327
- </li>
328
- <li>any object whose <tt>to_s</tt> method returns one of the above
329
-
330
- <pre>
331
- rio(Pathname.new('apath'))
332
- </pre>
333
- </li>
334
- <li>any combination of the above either as separate arguments or as elements of
335
- an array,
336
-
337
- <pre>
338
- another_rio = rio('dir1/dir2')
339
- auri = URI('dir4/dir5)
340
- rio(another_rio,'dir3',auri,'dir6/dir7')
341
- </pre>
342
- </li>
343
- </ul>
344
- <h5>Creating a Rio that refers to a web page</h5>
345
- <p>
346
- To create a Rio that refers to a web page the arguments to <tt>rio</tt> may
347
- be:
348
- </p>
349
- <ul>
350
- <li>a string representing a fully qualified <tt>http</tt> URL
351
-
352
- <pre>
353
- rio('http://ruby-doc.org/index.html')
354
- </pre>
355
- </li>
356
- <li>a <tt>URI</tt> object representing a <tt>http</tt> <tt>URL</tt>
357
-
358
- <pre>
359
- rio(URI('http://ruby-doc.org/index.html'))
360
- </pre>
361
- </li>
362
- <li>either of the above with additional path elements
363
-
364
- <pre>
365
- rio('http://www.ruby-doc.org/','core','classes/Object.html')
366
- </pre>
367
- </li>
368
- </ul>
369
- <h5>Creating a Rio that refers to a file or directory on a FTP server</h5>
370
- <p>
371
- To create a Rio that refers to a file on a FTP server the arguments to
372
- <tt>rio</tt> may be:
373
- </p>
374
- <ul>
375
- <li>a string representing a fully qualified <tt>ftp</tt> URL
376
-
377
- <pre>
378
- rio('ftp://user:password@ftp.example.com/afile.tar.gz')
379
- </pre>
380
- </li>
381
- <li>a <tt>URI</tt> object representing a <tt>ftp</tt> <tt>URL</tt>
382
-
383
- <pre>
384
- rio(URI('ftp://ftp.example.com/afile.tar.gz'))
385
- </pre>
386
- </li>
387
- <li>either of the above with additional path elements
388
-
389
- <pre>
390
- rio('ftp://ftp.gnu.org/pub/gnu','emacs','windows','README')
391
- </pre>
392
- </li>
393
- </ul>
394
- <h4>Creating Rios that do not have a path</h4>
395
- <p>
396
- To create a Rio without a path, the first argument to <tt>rio</tt> is
397
- usually either a single character or a symbol.
398
- </p>
399
- <h5>Creating a Rio that refers to a clone of your programs stdin or stdout.</h5>
400
- <p>
401
- <tt>rio(?-)</tt> (mnemonic: &#8217;-&#8217; is used by some Unix programs
402
- to specify stdin or stdout in place of a file)
403
- </p>
404
- <p>
405
- <tt>rio(:stdio)</tt>
406
- </p>
407
- <p>
408
- Just as a Rio that refers to a file, does not know whether that file will
409
- be opened for reading or writing until an I/O operation is specified, a
410
- <tt>stdio:</tt> Rio does not know whether it will connect to stdin or
411
- stdout until an I/O operation is specified.
412
- </p>
413
- <p>
414
- Currently :stdin and :stdout are allowed as synonyms for :stdio. This
415
- allows one to write
416
- </p>
417
- <pre>
418
- rio(:stdout).puts(&quot;Hello :stdout&quot;)
419
- </pre>
420
- <p>
421
- which is reasonable. It also allows one to write
422
- </p>
423
- <pre>
424
- rio(:stdin).puts(&quot;Hello :stdin&quot;)
425
- </pre>
426
- <p>
427
- which is not reasonable and will be disallowed in future releases.
428
- </p>
429
- <h5>Creating a Rio that refers to a clone of your programs stderr.</h5>
430
- <p>
431
- <tt>rio(?=)</tt> (mnemonic: &#8217;-&#8217; refers to fileno 1, so
432
- &#8217;=&#8217; refers to fileno 2)
433
- </p>
434
- <p>
435
- <tt>rio(:stderr)</tt>
436
- </p>
437
- <h5>Creating a Rio that refers to an arbitrary IO object.</h5>
438
- <pre>
439
- an_io = ::File.new('afile')
440
- rio(an_io)
441
- </pre>
442
- <h5>Creating a Rio that refers to a file descriptor</h5>
443
- <p>
444
- <tt>rio(?#,file_descriptor)</tt> (mnemonic: a file descriptor is a number
445
- &#8217;#&#8217;)
446
- </p>
447
- <p>
448
- <tt>rio(:fd,file_descriptor)</tt>
449
- </p>
450
- <pre>
451
- an_io = ::File.new('afile')
452
- fnum = an_io.fileno
453
- rio(?#,fnum)
454
- </pre>
455
- <h5>Creating a Rio that refers to a StringIO object</h5>
456
- <p>
457
- <tt>rio(?&quot;)</tt> (mnemonic: &#8217;&quot;&#8217; surrounds strings)
458
- </p>
459
- <p>
460
- <tt>rio(:string)</tt>
461
- </p>
462
- <p>
463
- <tt>rio(:strio)</tt>
464
- </p>
465
- <p>
466
- <tt>rio(:stringio)</tt>
467
- </p>
468
- <ul>
469
- <li>create a Rio that refers to a string that it creates
470
-
471
- <pre>
472
- rio(?&quot;)
473
- </pre>
474
- </li>
475
- <li>create a Rio that refers to a string of your choosing
476
-
477
- <pre>
478
- astring = &quot;&quot;
479
- rio(?&quot;,astring)
480
- </pre>
481
- </li>
482
- </ul>
483
- <h5>Creating a Rio that refers to a temporary object</h5>
484
- <p>
485
- To create a temporary object that will become a file (Tempfile) or a
486
- temporary directory, depending on how it is used.
487
- </p>
488
- <p>
489
- <tt>rio(??)</tt> (mnemonic: &#8217;?&#8217; you don&#8217;t know its name)
490
- </p>
491
- <p>
492
- <tt>rio(:temp)</tt>
493
- </p>
494
- <p>
495
- The following are also supported, to specify file or directory
496
- </p>
497
- <p>
498
- <tt>rio(:tempfile)</tt>
499
- </p>
500
- <p>
501
- <tt>rio(:tempdir)</tt>
502
- </p>
503
- <pre>
504
- rio(??)
505
- rio(??,basename='rio',tmpdir=Dir::tmpdir)
506
- </pre>
507
- <p>
508
- To create a temporary object that will become a file or a directory,
509
- depending on how you use it:
510
- </p>
511
- <pre>
512
- rio(??)
513
- rio(??,basename='rio',tmpdir=Dir::tmpdir)
514
- </pre>
515
- <p>
516
- To force it to become a file
517
- </p>
518
- <pre>
519
- rio(??).file
520
- </pre>
521
- <p>
522
- or just write to it.
523
- </p>
524
- <p>
525
- To force it to become a directory:
526
- </p>
527
- <pre>
528
- rio(??).mkdir
529
- </pre>
530
- <p>
531
- or
532
- </p>
533
- <pre>
534
- rio(??).chdir
535
- </pre>
536
- <h5>Creating a Rio that refers to an arbitrary TCPSocket</h5>
537
- <p>
538
- <tt>rio(&#8216;tcp:&#8217;,hostname,port)</tt>
539
- </p>
540
- <p>
541
- <tt>rio(&#8216;tcp://hostname:port&#8217;)</tt>
542
- </p>
543
- <p>
544
- <tt>rio(:tcp,hostname,port)</tt>
545
- </p>
546
- <h5>Creating a Rio that runs an external program and connects to its stdin and stdout</h5>
547
- <p>
548
- <tt>rio(?-,cmd)</tt> (mnemonic: &#8217;-&#8217; is used by some Unix
549
- programs to specify stdin or stdout in place of a file)
550
- </p>
551
- <p>
552
- <tt>rio(?`,cmd)</tt> (mnemonic: &#8217;`&#8217; (backtick) runs an external
553
- program in ruby)
554
- </p>
555
- <p>
556
- <tt>rio(:cmdio,cmd)</tt>
557
- </p>
558
- <p>
559
- This is Rio&#8217;s interface to IO#popen
560
- </p>
561
- <h5>Creating a Rio that acts like /dev/null</h5>
562
- <p>
563
- <tt>rio(nil)</tt>
564
- </p>
565
- <p>
566
- <tt>rio(:null)</tt>
567
- </p>
568
- <p>
569
- This rio behaves like the Unix file /dev/null, but does depend on it - and
570
- thus will work on non-Unix systems. Reading behaves as if reading from an
571
- empty file, and writing to it discards anything written.
572
- </p>
573
- <h5>Creating a Rio Pipe</h5>
574
- <p>
575
- A Rio Pipe is a sequence of Rios that are run with the output of each being
576
- copied to the input of the next.
577
- </p>
578
- <p>
579
- <tt>rio(?|, ario, &#8230;)</tt> (mnemonic: &#8217;|&#8217; is the Unix pipe
580
- operator)
581
- </p>
582
- <p>
583
- <tt>rio(:cmdpipe, ario, &#8230;)</tt>
584
- </p>
585
- <p>
586
- See also <a href="RIO/IF/Grande.html#M000060">|</a>
587
- </p>
588
- </div>
589
- </div>
590
-
591
- <div id="method-M000003" class="method-detail">
592
- <a name="M000003"></a>
593
-
594
- <div class="method-heading">
595
- <a href="RIO.src/M000003.html" target="Code" class="method-signature"
596
- onclick="popupCode('RIO.src/M000003.html');return false;">
597
- <span class="method-name">root</span><span class="method-args">(*args) {|self| ...}</span>
598
- </a>
599
- </div>
600
-
601
- <div class="method-description">
602
- <p>
603
- Create a Rio as with <a href="RIO.html#M000001">RIO#rio</a> which refers to
604
- a directory at the root of the file system
605
- </p>
606
- <pre>
607
- tmpdir = RIO.root('tmp') #=&gt; rio('/tmp')
608
- </pre>
609
- </div>
610
- </div>
611
-
612
-
613
- </div>
614
- </div>
615
-
616
-
617
- </div>
618
-
619
-
620
- <div id="validator-badges">
621
- <p><small>Copyright &copy; 2005,2006,2007,2008 Christopher Kleckner. <a href="http://www.gnu.org/licenses/gpl.html">All rights reserved</a>.</small></p>
622
- </div>
623
-
624
- </body>
625
- </html>