rio 0.4.2 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
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>