rio 0.3.4 → 0.3.6

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 (349) hide show
  1. data/ChangeLog +287 -0
  2. data/Rakefile +7 -9
  3. data/VERSION +1 -1
  4. data/doc/ANNOUNCE +20 -1
  5. data/doc/RELEASE_NOTES +41 -0
  6. data/doc/rdoc/classes/Kernel.html +181 -0
  7. data/doc/rdoc/classes/Kernel.src/M000214.html +18 -0
  8. data/doc/rdoc/classes/RIO.html +621 -0
  9. data/doc/rdoc/classes/RIO.src/M000001.html +18 -0
  10. data/doc/rdoc/classes/RIO.src/M000002.html +18 -0
  11. data/doc/rdoc/classes/RIO.src/M000003.html +18 -0
  12. data/doc/rdoc/classes/RIO/Doc.html +138 -0
  13. data/doc/rdoc/classes/RIO/Doc/HOWTO.html +1040 -0
  14. data/doc/rdoc/classes/RIO/Doc/INTRO.html +1613 -0
  15. data/doc/rdoc/classes/RIO/Doc/MISC.html +443 -0
  16. data/doc/rdoc/classes/RIO/Doc/SYNOPSIS.html +338 -0
  17. data/doc/rdoc/classes/RIO/IF.html +114 -0
  18. data/doc/rdoc/classes/RIO/IF/CSV.html +202 -0
  19. data/doc/rdoc/classes/RIO/IF/CSV.src/M000004.html +19 -0
  20. data/doc/rdoc/classes/RIO/IF/CSV.src/M000005.html +16 -0
  21. data/doc/rdoc/classes/RIO/IF/CSV.src/M000006.html +16 -0
  22. data/doc/rdoc/classes/RIO/IF/YAML.html +499 -0
  23. data/doc/rdoc/classes/RIO/IF/YAML.src/M000007.html +19 -0
  24. data/doc/rdoc/classes/RIO/IF/YAML.src/M000008.html +16 -0
  25. data/doc/rdoc/classes/RIO/IF/YAML.src/M000009.html +16 -0
  26. data/doc/rdoc/classes/RIO/IF/YAML.src/M000010.html +16 -0
  27. data/doc/rdoc/classes/RIO/IF/YAML.src/M000011.html +16 -0
  28. data/doc/rdoc/classes/RIO/IF/YAML.src/M000012.html +16 -0
  29. data/doc/rdoc/classes/RIO/IF/YAML.src/M000013.html +16 -0
  30. data/doc/rdoc/classes/RIO/IF/YAML.src/M000014.html +16 -0
  31. data/doc/rdoc/classes/RIO/IF/YAML.src/M000015.html +16 -0
  32. data/doc/rdoc/classes/RIO/IF/YAML.src/M000016.html +16 -0
  33. data/doc/rdoc/classes/RIO/IF/YAML.src/M000017.html +16 -0
  34. data/doc/rdoc/classes/RIO/Rio.html +7121 -0
  35. data/doc/rdoc/classes/RIO/Rio.src/M000018.html +18 -0
  36. data/doc/rdoc/classes/RIO/Rio.src/M000019.html +20 -0
  37. data/doc/rdoc/classes/RIO/Rio.src/M000020.html +27 -0
  38. data/doc/rdoc/classes/RIO/Rio.src/M000021.html +16 -0
  39. data/doc/rdoc/classes/RIO/Rio.src/M000023.html +19 -0
  40. data/doc/rdoc/classes/RIO/Rio.src/M000024.html +20 -0
  41. data/doc/rdoc/classes/RIO/Rio.src/M000025.html +16 -0
  42. data/doc/rdoc/classes/RIO/Rio.src/M000026.html +16 -0
  43. data/doc/rdoc/classes/RIO/Rio.src/M000027.html +16 -0
  44. data/doc/rdoc/classes/RIO/Rio.src/M000028.html +16 -0
  45. data/doc/rdoc/classes/RIO/Rio.src/M000029.html +16 -0
  46. data/doc/rdoc/classes/RIO/Rio.src/M000030.html +16 -0
  47. data/doc/rdoc/classes/RIO/Rio.src/M000031.html +16 -0
  48. data/doc/rdoc/classes/RIO/Rio.src/M000032.html +16 -0
  49. data/doc/rdoc/classes/RIO/Rio.src/M000033.html +16 -0
  50. data/doc/rdoc/classes/RIO/Rio.src/M000034.html +16 -0
  51. data/doc/rdoc/classes/RIO/Rio.src/M000035.html +16 -0
  52. data/doc/rdoc/classes/RIO/Rio.src/M000036.html +16 -0
  53. data/doc/rdoc/classes/RIO/Rio.src/M000037.html +16 -0
  54. data/doc/rdoc/classes/RIO/Rio.src/M000038.html +16 -0
  55. data/doc/rdoc/classes/RIO/Rio.src/M000039.html +16 -0
  56. data/doc/rdoc/classes/RIO/Rio.src/M000040.html +16 -0
  57. data/doc/rdoc/classes/RIO/Rio.src/M000041.html +16 -0
  58. data/doc/rdoc/classes/RIO/Rio.src/M000042.html +16 -0
  59. data/doc/rdoc/classes/RIO/Rio.src/M000043.html +16 -0
  60. data/doc/rdoc/classes/RIO/Rio.src/M000044.html +16 -0
  61. data/doc/rdoc/classes/RIO/Rio.src/M000045.html +16 -0
  62. data/doc/rdoc/classes/RIO/Rio.src/M000046.html +16 -0
  63. data/doc/rdoc/classes/RIO/Rio.src/M000047.html +16 -0
  64. data/doc/rdoc/classes/RIO/Rio.src/M000048.html +16 -0
  65. data/doc/rdoc/classes/RIO/Rio.src/M000049.html +16 -0
  66. data/doc/rdoc/classes/RIO/Rio.src/M000050.html +16 -0
  67. data/doc/rdoc/classes/RIO/Rio.src/M000051.html +16 -0
  68. data/doc/rdoc/classes/RIO/Rio.src/M000052.html +16 -0
  69. data/doc/rdoc/classes/RIO/Rio.src/M000053.html +16 -0
  70. data/doc/rdoc/classes/RIO/Rio.src/M000054.html +16 -0
  71. data/doc/rdoc/classes/RIO/Rio.src/M000055.html +16 -0
  72. data/doc/rdoc/classes/RIO/Rio.src/M000056.html +16 -0
  73. data/doc/rdoc/classes/RIO/Rio.src/M000057.html +16 -0
  74. data/doc/rdoc/classes/RIO/Rio.src/M000058.html +16 -0
  75. data/doc/rdoc/classes/RIO/Rio.src/M000059.html +16 -0
  76. data/doc/rdoc/classes/RIO/Rio.src/M000060.html +16 -0
  77. data/doc/rdoc/classes/RIO/Rio.src/M000061.html +16 -0
  78. data/doc/rdoc/classes/RIO/Rio.src/M000062.html +16 -0
  79. data/doc/rdoc/classes/RIO/Rio.src/M000063.html +16 -0
  80. data/doc/rdoc/classes/RIO/Rio.src/M000064.html +16 -0
  81. data/doc/rdoc/classes/RIO/Rio.src/M000065.html +16 -0
  82. data/doc/rdoc/classes/RIO/Rio.src/M000066.html +16 -0
  83. data/doc/rdoc/classes/RIO/Rio.src/M000067.html +16 -0
  84. data/doc/rdoc/classes/RIO/Rio.src/M000068.html +16 -0
  85. data/doc/rdoc/classes/RIO/Rio.src/M000069.html +16 -0
  86. data/doc/rdoc/classes/RIO/Rio.src/M000070.html +16 -0
  87. data/doc/rdoc/classes/RIO/Rio.src/M000071.html +16 -0
  88. data/doc/rdoc/classes/RIO/Rio.src/M000072.html +16 -0
  89. data/doc/rdoc/classes/RIO/Rio.src/M000073.html +16 -0
  90. data/doc/rdoc/classes/RIO/Rio.src/M000074.html +16 -0
  91. data/doc/rdoc/classes/RIO/Rio.src/M000075.html +16 -0
  92. data/doc/rdoc/classes/RIO/Rio.src/M000076.html +16 -0
  93. data/doc/rdoc/classes/RIO/Rio.src/M000077.html +16 -0
  94. data/doc/rdoc/classes/RIO/Rio.src/M000078.html +16 -0
  95. data/doc/rdoc/classes/RIO/Rio.src/M000079.html +16 -0
  96. data/doc/rdoc/classes/RIO/Rio.src/M000080.html +16 -0
  97. data/doc/rdoc/classes/RIO/Rio.src/M000081.html +16 -0
  98. data/doc/rdoc/classes/RIO/Rio.src/M000082.html +16 -0
  99. data/doc/rdoc/classes/RIO/Rio.src/M000083.html +16 -0
  100. data/doc/rdoc/classes/RIO/Rio.src/M000084.html +16 -0
  101. data/doc/rdoc/classes/RIO/Rio.src/M000085.html +16 -0
  102. data/doc/rdoc/classes/RIO/Rio.src/M000086.html +16 -0
  103. data/doc/rdoc/classes/RIO/Rio.src/M000087.html +16 -0
  104. data/doc/rdoc/classes/RIO/Rio.src/M000088.html +16 -0
  105. data/doc/rdoc/classes/RIO/Rio.src/M000089.html +16 -0
  106. data/doc/rdoc/classes/RIO/Rio.src/M000090.html +16 -0
  107. data/doc/rdoc/classes/RIO/Rio.src/M000091.html +16 -0
  108. data/doc/rdoc/classes/RIO/Rio.src/M000092.html +16 -0
  109. data/doc/rdoc/classes/RIO/Rio.src/M000093.html +16 -0
  110. data/doc/rdoc/classes/RIO/Rio.src/M000094.html +16 -0
  111. data/doc/rdoc/classes/RIO/Rio.src/M000095.html +16 -0
  112. data/doc/rdoc/classes/RIO/Rio.src/M000096.html +16 -0
  113. data/doc/rdoc/classes/RIO/Rio.src/M000097.html +16 -0
  114. data/doc/rdoc/classes/RIO/Rio.src/M000098.html +16 -0
  115. data/doc/rdoc/classes/RIO/Rio.src/M000099.html +16 -0
  116. data/doc/rdoc/classes/RIO/Rio.src/M000100.html +16 -0
  117. data/doc/rdoc/classes/RIO/Rio.src/M000101.html +16 -0
  118. data/doc/rdoc/classes/RIO/Rio.src/M000102.html +16 -0
  119. data/doc/rdoc/classes/RIO/Rio.src/M000103.html +16 -0
  120. data/doc/rdoc/classes/RIO/Rio.src/M000104.html +16 -0
  121. data/doc/rdoc/classes/RIO/Rio.src/M000105.html +16 -0
  122. data/doc/rdoc/classes/RIO/Rio.src/M000106.html +16 -0
  123. data/doc/rdoc/classes/RIO/Rio.src/M000107.html +16 -0
  124. data/doc/rdoc/classes/RIO/Rio.src/M000108.html +16 -0
  125. data/doc/rdoc/classes/RIO/Rio.src/M000109.html +16 -0
  126. data/doc/rdoc/classes/RIO/Rio.src/M000110.html +16 -0
  127. data/doc/rdoc/classes/RIO/Rio.src/M000111.html +16 -0
  128. data/doc/rdoc/classes/RIO/Rio.src/M000112.html +16 -0
  129. data/doc/rdoc/classes/RIO/Rio.src/M000113.html +16 -0
  130. data/doc/rdoc/classes/RIO/Rio.src/M000114.html +16 -0
  131. data/doc/rdoc/classes/RIO/Rio.src/M000115.html +16 -0
  132. data/doc/rdoc/classes/RIO/Rio.src/M000116.html +16 -0
  133. data/doc/rdoc/classes/RIO/Rio.src/M000117.html +16 -0
  134. data/doc/rdoc/classes/RIO/Rio.src/M000118.html +16 -0
  135. data/doc/rdoc/classes/RIO/Rio.src/M000119.html +16 -0
  136. data/doc/rdoc/classes/RIO/Rio.src/M000120.html +16 -0
  137. data/doc/rdoc/classes/RIO/Rio.src/M000121.html +16 -0
  138. data/doc/rdoc/classes/RIO/Rio.src/M000122.html +16 -0
  139. data/doc/rdoc/classes/RIO/Rio.src/M000123.html +16 -0
  140. data/doc/rdoc/classes/RIO/Rio.src/M000124.html +16 -0
  141. data/doc/rdoc/classes/RIO/Rio.src/M000125.html +16 -0
  142. data/doc/rdoc/classes/RIO/Rio.src/M000126.html +16 -0
  143. data/doc/rdoc/classes/RIO/Rio.src/M000127.html +16 -0
  144. data/doc/rdoc/classes/RIO/Rio.src/M000128.html +16 -0
  145. data/doc/rdoc/classes/RIO/Rio.src/M000129.html +16 -0
  146. data/doc/rdoc/classes/RIO/Rio.src/M000130.html +16 -0
  147. data/doc/rdoc/classes/RIO/Rio.src/M000131.html +16 -0
  148. data/doc/rdoc/classes/RIO/Rio.src/M000132.html +16 -0
  149. data/doc/rdoc/classes/RIO/Rio.src/M000133.html +16 -0
  150. data/doc/rdoc/classes/RIO/Rio.src/M000134.html +16 -0
  151. data/doc/rdoc/classes/RIO/Rio.src/M000135.html +16 -0
  152. data/doc/rdoc/classes/RIO/Rio.src/M000136.html +16 -0
  153. data/doc/rdoc/classes/RIO/Rio.src/M000137.html +16 -0
  154. data/doc/rdoc/classes/RIO/Rio.src/M000138.html +16 -0
  155. data/doc/rdoc/classes/RIO/Rio.src/M000139.html +16 -0
  156. data/doc/rdoc/classes/RIO/Rio.src/M000140.html +16 -0
  157. data/doc/rdoc/classes/RIO/Rio.src/M000141.html +16 -0
  158. data/doc/rdoc/classes/RIO/Rio.src/M000142.html +16 -0
  159. data/doc/rdoc/classes/RIO/Rio.src/M000143.html +16 -0
  160. data/doc/rdoc/classes/RIO/Rio.src/M000144.html +16 -0
  161. data/doc/rdoc/classes/RIO/Rio.src/M000145.html +16 -0
  162. data/doc/rdoc/classes/RIO/Rio.src/M000146.html +16 -0
  163. data/doc/rdoc/classes/RIO/Rio.src/M000147.html +16 -0
  164. data/doc/rdoc/classes/RIO/Rio.src/M000148.html +16 -0
  165. data/doc/rdoc/classes/RIO/Rio.src/M000149.html +16 -0
  166. data/doc/rdoc/classes/RIO/Rio.src/M000150.html +16 -0
  167. data/doc/rdoc/classes/RIO/Rio.src/M000151.html +16 -0
  168. data/doc/rdoc/classes/RIO/Rio.src/M000152.html +16 -0
  169. data/doc/rdoc/classes/RIO/Rio.src/M000153.html +16 -0
  170. data/doc/rdoc/classes/RIO/Rio.src/M000154.html +16 -0
  171. data/doc/rdoc/classes/RIO/Rio.src/M000155.html +16 -0
  172. data/doc/rdoc/classes/RIO/Rio.src/M000156.html +16 -0
  173. data/doc/rdoc/classes/RIO/Rio.src/M000157.html +16 -0
  174. data/doc/rdoc/classes/RIO/Rio.src/M000158.html +16 -0
  175. data/doc/rdoc/classes/RIO/Rio.src/M000159.html +16 -0
  176. data/doc/rdoc/classes/RIO/Rio.src/M000160.html +16 -0
  177. data/doc/rdoc/classes/RIO/Rio.src/M000161.html +16 -0
  178. data/doc/rdoc/classes/RIO/Rio.src/M000162.html +16 -0
  179. data/doc/rdoc/classes/RIO/Rio.src/M000163.html +16 -0
  180. data/doc/rdoc/classes/RIO/Rio.src/M000164.html +16 -0
  181. data/doc/rdoc/classes/RIO/Rio.src/M000165.html +16 -0
  182. data/doc/rdoc/classes/RIO/Rio.src/M000166.html +16 -0
  183. data/doc/rdoc/classes/RIO/Rio.src/M000167.html +16 -0
  184. data/doc/rdoc/classes/RIO/Rio.src/M000168.html +16 -0
  185. data/doc/rdoc/classes/RIO/Rio.src/M000169.html +16 -0
  186. data/doc/rdoc/classes/RIO/Rio.src/M000170.html +16 -0
  187. data/doc/rdoc/classes/RIO/Rio.src/M000171.html +16 -0
  188. data/doc/rdoc/classes/RIO/Rio.src/M000172.html +16 -0
  189. data/doc/rdoc/classes/RIO/Rio.src/M000173.html +16 -0
  190. data/doc/rdoc/classes/RIO/Rio.src/M000174.html +16 -0
  191. data/doc/rdoc/classes/RIO/Rio.src/M000175.html +16 -0
  192. data/doc/rdoc/classes/RIO/Rio.src/M000176.html +16 -0
  193. data/doc/rdoc/classes/RIO/Rio.src/M000177.html +16 -0
  194. data/doc/rdoc/classes/RIO/Rio.src/M000178.html +16 -0
  195. data/doc/rdoc/classes/RIO/Rio.src/M000179.html +16 -0
  196. data/doc/rdoc/classes/RIO/Rio.src/M000180.html +16 -0
  197. data/doc/rdoc/classes/RIO/Rio.src/M000181.html +16 -0
  198. data/doc/rdoc/classes/RIO/Rio.src/M000182.html +16 -0
  199. data/doc/rdoc/classes/RIO/Rio.src/M000183.html +16 -0
  200. data/doc/rdoc/classes/RIO/Rio.src/M000184.html +16 -0
  201. data/doc/rdoc/classes/RIO/Rio.src/M000185.html +16 -0
  202. data/doc/rdoc/classes/RIO/Rio.src/M000186.html +16 -0
  203. data/doc/rdoc/classes/RIO/Rio.src/M000187.html +16 -0
  204. data/doc/rdoc/classes/RIO/Rio.src/M000188.html +16 -0
  205. data/doc/rdoc/classes/RIO/Rio.src/M000189.html +16 -0
  206. data/doc/rdoc/classes/RIO/Rio.src/M000190.html +16 -0
  207. data/doc/rdoc/classes/RIO/Rio.src/M000191.html +16 -0
  208. data/doc/rdoc/classes/RIO/Rio.src/M000192.html +16 -0
  209. data/doc/rdoc/classes/RIO/Rio.src/M000193.html +16 -0
  210. data/doc/rdoc/classes/RIO/Rio.src/M000194.html +16 -0
  211. data/doc/rdoc/classes/RIO/Rio.src/M000195.html +16 -0
  212. data/doc/rdoc/classes/RIO/Rio.src/M000196.html +16 -0
  213. data/doc/rdoc/classes/RIO/Rio.src/M000197.html +16 -0
  214. data/doc/rdoc/classes/RIO/Rio.src/M000198.html +16 -0
  215. data/doc/rdoc/classes/RIO/Rio.src/M000199.html +16 -0
  216. data/doc/rdoc/classes/RIO/Rio.src/M000200.html +16 -0
  217. data/doc/rdoc/classes/RIO/Rio.src/M000201.html +16 -0
  218. data/doc/rdoc/classes/RIO/Rio.src/M000202.html +16 -0
  219. data/doc/rdoc/classes/RIO/Rio.src/M000203.html +16 -0
  220. data/doc/rdoc/classes/RIO/Rio.src/M000204.html +16 -0
  221. data/doc/rdoc/classes/RIO/Rio.src/M000205.html +16 -0
  222. data/doc/rdoc/classes/RIO/Rio.src/M000206.html +16 -0
  223. data/doc/rdoc/classes/RIO/Rio.src/M000207.html +16 -0
  224. data/doc/rdoc/classes/RIO/Rio.src/M000208.html +16 -0
  225. data/doc/rdoc/classes/RIO/Rio.src/M000209.html +16 -0
  226. data/doc/rdoc/classes/RIO/Rio.src/M000210.html +16 -0
  227. data/doc/rdoc/classes/RIO/Rio.src/M000211.html +16 -0
  228. data/doc/rdoc/classes/RIO/Rio.src/M000212.html +16 -0
  229. data/doc/rdoc/classes/RIO/Rio.src/M000213.html +16 -0
  230. data/doc/rdoc/created.rid +1 -0
  231. data/doc/rdoc/files/README.html +243 -0
  232. data/doc/rdoc/files/lib/rio/constructor_rb.html +142 -0
  233. data/doc/rdoc/files/lib/rio/doc/HOWTO_rb.html +135 -0
  234. data/doc/rdoc/files/lib/rio/doc/INTRO_rb.html +135 -0
  235. data/doc/rdoc/files/lib/rio/doc/MISC_rb.html +135 -0
  236. data/doc/rdoc/files/lib/rio/doc/SYNOPSIS_rb.html +135 -0
  237. data/doc/rdoc/files/lib/rio/if/basic_rb.html +135 -0
  238. data/doc/rdoc/files/lib/rio/if/csv_rb.html +135 -0
  239. data/doc/rdoc/files/lib/rio/if/dir_rb.html +135 -0
  240. data/doc/rdoc/files/lib/rio/if/file_rb.html +135 -0
  241. data/doc/rdoc/files/lib/rio/if/fileordir_rb.html +135 -0
  242. data/doc/rdoc/files/lib/rio/if/grande_entry_rb.html +135 -0
  243. data/doc/rdoc/files/lib/rio/if/grande_rb.html +135 -0
  244. data/doc/rdoc/files/lib/rio/if/grande_stream_rb.html +135 -0
  245. data/doc/rdoc/files/lib/rio/if/internal_rb.html +135 -0
  246. data/doc/rdoc/files/lib/rio/if/path_rb.html +135 -0
  247. data/doc/rdoc/files/lib/rio/if/stream_rb.html +135 -0
  248. data/doc/rdoc/files/lib/rio/if/string_rb.html +135 -0
  249. data/doc/rdoc/files/lib/rio/if/temp_rb.html +135 -0
  250. data/doc/rdoc/files/lib/rio/if/test_rb.html +135 -0
  251. data/doc/rdoc/files/lib/rio/if/yaml_rb.html +135 -0
  252. data/doc/rdoc/files/lib/rio/kernel_rb.html +142 -0
  253. data/doc/rdoc/files/lib/rio_rb.html +154 -0
  254. data/doc/rdoc/fr_class_index.html +37 -0
  255. data/doc/rdoc/fr_file_index.html +49 -0
  256. data/doc/rdoc/fr_method_index.html +241 -0
  257. data/doc/rdoc/index.html +24 -0
  258. data/doc/rdoc/rdoc-style.css +384 -0
  259. data/lib/rio.rb +21 -5
  260. data/lib/rio/constructor.rb +13 -0
  261. data/lib/rio/context/copying.rb +56 -0
  262. data/lib/rio/context/methods.rb +1 -0
  263. data/lib/rio/cp.rb +53 -34
  264. data/lib/rio/doc/HOWTO.rb +9 -3
  265. data/lib/rio/doc/INTRO.rb +113 -3
  266. data/lib/rio/ext.rb +7 -1
  267. data/lib/rio/ext/csv.rb +17 -8
  268. data/lib/rio/ext/yaml.rb +182 -0
  269. data/lib/rio/factory.rb +11 -14
  270. data/lib/rio/filter/closeoneof.rb +12 -31
  271. data/lib/rio/filter/gzip.rb +7 -0
  272. data/lib/rio/if.rb +4 -1
  273. data/lib/rio/if/csv.rb +36 -35
  274. data/lib/rio/if/grande.rb +74 -5
  275. data/lib/rio/if/grande_stream.rb +11 -3
  276. data/lib/rio/if/path.rb +9 -8
  277. data/lib/rio/if/yaml.rb +218 -0
  278. data/lib/rio/ioh.rb +5 -3
  279. data/lib/rio/matchrecord.rb +9 -2
  280. data/lib/rio/ops/dir.rb +2 -1
  281. data/lib/rio/ops/either.rb +9 -9
  282. data/lib/rio/ops/file.rb +4 -1
  283. data/lib/rio/ops/path.rb +26 -20
  284. data/lib/rio/ops/stream.rb +1 -1
  285. data/lib/rio/ops/stream/input.rb +31 -9
  286. data/lib/rio/ops/stream/output.rb +7 -2
  287. data/lib/rio/ops/stream/read.rb +10 -10
  288. data/lib/rio/ops/stream/write.rb +10 -10
  289. data/lib/rio/path.rb +2 -2
  290. data/lib/rio/path/reset.rb +1 -1
  291. data/lib/rio/piper.rb +123 -0
  292. data/lib/rio/piper/cp.rb +81 -0
  293. data/lib/rio/rectype.rb +2 -2
  294. data/lib/rio/rl/base.rb +40 -17
  295. data/lib/rio/rl/builder.rb +8 -47
  296. data/lib/rio/rl/ioi.rb +3 -2
  297. data/lib/rio/rl/path.rb +101 -78
  298. data/lib/rio/rl/pathmethods.rb +95 -0
  299. data/lib/rio/rl/uri.rb +41 -51
  300. data/lib/rio/scheme/cmdio.rb +7 -1
  301. data/lib/rio/scheme/cmdpipe.rb +150 -0
  302. data/lib/rio/scheme/ftp.rb +0 -4
  303. data/lib/rio/scheme/http.rb +0 -2
  304. data/lib/rio/scheme/strio.rb +16 -0
  305. data/lib/rio/scheme/temp.rb +7 -7
  306. data/lib/rio/state.rb +23 -5
  307. data/lib/rio/stream.rb +4 -0
  308. data/lib/rio/stream/duplex.rb +1 -0
  309. data/lib/rio/stream/open.rb +8 -2
  310. data/lib/rio/version.rb +1 -1
  311. data/test/{runtests_gem.rb → gem_runtests.rb} +0 -0
  312. data/test/methods/path.rb +12 -0
  313. data/test/runtests.rb +2 -0
  314. data/test/tc/abs.rb +29 -27
  315. data/test/tc/all.rb +9 -3
  316. data/test/tc/base.rb +31 -0
  317. data/test/tc/cmdpipe.rb +146 -0
  318. data/test/tc/copydir.rb +2 -1
  319. data/test/tc/create.rb +10 -0
  320. data/test/tc/csv.rb +12 -12
  321. data/test/tc/csv2.rb +2 -2
  322. data/test/tc/csv_columns.rb +3 -3
  323. data/test/tc/each_break.rb +21 -8
  324. data/test/tc/expand_path.rb +21 -27
  325. data/test/tc/misc.rb +0 -1
  326. data/test/tc/noqae.rb +29 -21
  327. data/test/tc/overload.rb +14 -11
  328. data/test/tc/piper.rb +146 -0
  329. data/test/tc/riorl.rb +26 -17
  330. data/test/tc/route.rb +51 -0
  331. data/test/tc/skip.rb +8 -6
  332. data/test/tc/split.rb +70 -0
  333. data/test/tc/temp.rb +5 -5
  334. data/test/tc/testcase.rb +1 -0
  335. data/test/tc/yaml.rb +118 -0
  336. metadata +481 -229
  337. data/doc/README_MSWIN32.txt +0 -39
  338. data/ex/colx.rb +0 -8
  339. data/ex/findinruby +0 -23
  340. data/ex/findruby +0 -15
  341. data/ex/passwd_report.rb +0 -8
  342. data/ex/prompt.rb +0 -25
  343. data/ex/rgb.txt.gz +0 -0
  344. data/ex/riocat +0 -35
  345. data/ex/riogunzip +0 -31
  346. data/ex/riogzip +0 -24
  347. data/ex/rioprompt.rb +0 -6
  348. data/ex/tolf +0 -11
  349. data/test/mswin32.rb +0 -28
@@ -0,0 +1,18 @@
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 42</span>
14
+ 42: <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
+ 43: <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
+ 44: <span class="ruby-keyword kw">end</span></pre>
17
+ </body>
18
+ </html>
@@ -0,0 +1,621 @@
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
+ <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
12
+ <script type="text/javascript">
13
+ // <![CDATA[
14
+
15
+ function popupCode( url ) {
16
+ window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
17
+ }
18
+
19
+ function toggleCode( id ) {
20
+ if ( document.getElementById )
21
+ elem = document.getElementById( id );
22
+ else if ( document.all )
23
+ elem = eval( "document.all." + id );
24
+ else
25
+ return false;
26
+
27
+ elemStyle = elem.style;
28
+
29
+ if ( elemStyle.display != "block" ) {
30
+ elemStyle.display = "block"
31
+ } else {
32
+ elemStyle.display = "none"
33
+ }
34
+
35
+ return true;
36
+ }
37
+
38
+ // Make codeblocks hidden by default
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
41
+ // ]]>
42
+ </script>
43
+
44
+ </head>
45
+ <body>
46
+
47
+
48
+
49
+ <div id="classHeader">
50
+ <table class="header-table">
51
+ <tr class="top-aligned-row">
52
+ <td class="class-mod"><strong>Module</strong></td>
53
+ <td class="class-name-in-header">RIO</td>
54
+ <td rowspan="2" class="class-header-space-col"></td>
55
+ <td rowspan="2">
56
+ <a class="in-url" href="../files/lib/rio_rb.html">
57
+ lib/rio.rb
58
+ </a>
59
+ &nbsp;&nbsp;
60
+ <a class="in-url" href="../files/lib/rio/doc/HOWTO_rb.html">
61
+ lib/rio/doc/HOWTO.rb
62
+ </a>
63
+ &nbsp;&nbsp;
64
+ <a class="in-url" href="../files/lib/rio/doc/INTRO_rb.html">
65
+ lib/rio/doc/INTRO.rb
66
+ </a>
67
+ &nbsp;&nbsp;
68
+ <a class="in-url" href="../files/lib/rio/doc/MISC_rb.html">
69
+ lib/rio/doc/MISC.rb
70
+ </a>
71
+ &nbsp;&nbsp;
72
+ <a class="in-url" href="../files/lib/rio/doc/SYNOPSIS_rb.html">
73
+ lib/rio/doc/SYNOPSIS.rb
74
+ </a>
75
+ &nbsp;&nbsp;
76
+ <a class="in-url" href="../files/lib/rio/if/basic_rb.html">
77
+ lib/rio/if/basic.rb
78
+ </a>
79
+ &nbsp;&nbsp;
80
+ <a class="in-url" href="../files/lib/rio/if/csv_rb.html">
81
+ lib/rio/if/csv.rb
82
+ </a>
83
+ &nbsp;&nbsp;
84
+ <a class="in-url" href="../files/lib/rio/if/dir_rb.html">
85
+ lib/rio/if/dir.rb
86
+ </a>
87
+ &nbsp;&nbsp;
88
+ <a class="in-url" href="../files/lib/rio/if/file_rb.html">
89
+ lib/rio/if/file.rb
90
+ </a>
91
+ &nbsp;&nbsp;
92
+ <a class="in-url" href="../files/lib/rio/if/fileordir_rb.html">
93
+ lib/rio/if/fileordir.rb
94
+ </a>
95
+ &nbsp;&nbsp;
96
+ <a class="in-url" href="../files/lib/rio/if/grande_rb.html">
97
+ lib/rio/if/grande.rb
98
+ </a>
99
+ &nbsp;&nbsp;
100
+ <a class="in-url" href="../files/lib/rio/if/grande_entry_rb.html">
101
+ lib/rio/if/grande_entry.rb
102
+ </a>
103
+ &nbsp;&nbsp;
104
+ <a class="in-url" href="../files/lib/rio/if/grande_stream_rb.html">
105
+ lib/rio/if/grande_stream.rb
106
+ </a>
107
+ &nbsp;&nbsp;
108
+ <a class="in-url" href="../files/lib/rio/if/internal_rb.html">
109
+ lib/rio/if/internal.rb
110
+ </a>
111
+ &nbsp;&nbsp;
112
+ <a class="in-url" href="../files/lib/rio/if/path_rb.html">
113
+ lib/rio/if/path.rb
114
+ </a>
115
+ &nbsp;&nbsp;
116
+ <a class="in-url" href="../files/lib/rio/if/stream_rb.html">
117
+ lib/rio/if/stream.rb
118
+ </a>
119
+ &nbsp;&nbsp;
120
+ <a class="in-url" href="../files/lib/rio/if/string_rb.html">
121
+ lib/rio/if/string.rb
122
+ </a>
123
+ &nbsp;&nbsp;
124
+ <a class="in-url" href="../files/lib/rio/if/temp_rb.html">
125
+ lib/rio/if/temp.rb
126
+ </a>
127
+ &nbsp;&nbsp;
128
+ <a class="in-url" href="../files/lib/rio/if/test_rb.html">
129
+ lib/rio/if/test.rb
130
+ </a>
131
+ &nbsp;&nbsp;
132
+ <a class="in-url" href="../files/lib/rio/if/yaml_rb.html">
133
+ lib/rio/if/yaml.rb
134
+ </a>
135
+ &nbsp;&nbsp;
136
+ <a class="in-url" href="../files/lib/rio/constructor_rb.html">
137
+ lib/rio/constructor.rb
138
+ </a>
139
+ &nbsp;&nbsp;
140
+ </td>
141
+ </tr>
142
+
143
+ </table>
144
+ </div>
145
+ <!-- banner header -->
146
+
147
+ <div id="bodyContent">
148
+
149
+
150
+
151
+ <div id="contextContent">
152
+
153
+ <div id="description">
154
+ <p>
155
+ To create the documentation for <a href="RIO/Rio.html">Rio</a> run the
156
+ command
157
+ </p>
158
+ <pre>
159
+ rake rdoc
160
+ </pre>
161
+ <p>
162
+ from the distribution directory. Then point your browser at the
163
+ &#8216;doc/rdoc&#8217; directory.
164
+ </p>
165
+ <p>
166
+ Suggested Reading
167
+ </p>
168
+ <ul>
169
+ <li><a href="RIO/Doc/SYNOPSIS.html">RIO::Doc::SYNOPSIS</a>
170
+
171
+ </li>
172
+ <li><a href="RIO/Doc/INTRO.html">RIO::Doc::INTRO</a>
173
+
174
+ </li>
175
+ <li><a href="RIO/Doc/HOWTO.html">RIO::Doc::HOWTO</a>
176
+
177
+ </li>
178
+ <li><a href="RIO/Rio.html">RIO::Rio</a>
179
+
180
+ </li>
181
+ </ul>
182
+ <p>
183
+ <b><a href="RIO/Rio.html">Rio</a> is pre-alpha software. The documented
184
+ interface and behavior is subject to change without notice.</b>
185
+ </p>
186
+
187
+ </div>
188
+
189
+
190
+ </div>
191
+
192
+ <div id="method-list">
193
+ <h3 class="section-bar">Methods</h3>
194
+
195
+ <div class="name-list">
196
+ <a href="#M000002">cwd</a>&nbsp;&nbsp;
197
+ <a href="#M000001">rio</a>&nbsp;&nbsp;
198
+ <a href="#M000003">root</a>&nbsp;&nbsp;
199
+ </div>
200
+ </div>
201
+
202
+ </div>
203
+
204
+
205
+ <!-- if includes -->
206
+
207
+ <div id="section">
208
+
209
+ <div id="class-list">
210
+ <h3 class="section-bar">Classes and Modules</h3>
211
+
212
+ Module <a href="RIO/Doc.html" class="link">RIO::Doc</a><br />
213
+ Module <a href="RIO/IF.html" class="link">RIO::IF</a><br />
214
+ Class <a href="RIO/Rio.html" class="link">RIO::Rio</a><br />
215
+
216
+ </div>
217
+
218
+ <div id="constants-list">
219
+ <h3 class="section-bar">Constants</h3>
220
+
221
+ <div class="name-list">
222
+ <table summary="Constants">
223
+ <tr class="top-aligned-row context-row">
224
+ <td class="context-item-name">SEEK_SET</td>
225
+ <td>=</td>
226
+ <td class="context-item-value">IO::SEEK_SET</td>
227
+ </tr>
228
+ <tr class="top-aligned-row context-row">
229
+ <td class="context-item-name">SEEK_END</td>
230
+ <td>=</td>
231
+ <td class="context-item-value">IO::SEEK_END</td>
232
+ </tr>
233
+ <tr class="top-aligned-row context-row">
234
+ <td class="context-item-name">SEEK_CUR</td>
235
+ <td>=</td>
236
+ <td class="context-item-value">IO::SEEK_CUR</td>
237
+ </tr>
238
+ </table>
239
+ </div>
240
+ </div>
241
+
242
+
243
+
244
+
245
+
246
+
247
+ <!-- if method_list -->
248
+ <div id="methods">
249
+ <h3 class="section-bar">Public Instance methods</h3>
250
+
251
+ <div id="method-M000002" class="method-detail">
252
+ <a name="M000002"></a>
253
+
254
+ <div class="method-heading">
255
+ <a href="RIO.src/M000002.html" target="Code" class="method-signature"
256
+ onclick="popupCode('RIO.src/M000002.html');return false;">
257
+ <span class="method-name">cwd</span><span class="method-args">(*args) {|self| ...}</span>
258
+ </a>
259
+ </div>
260
+
261
+ <div class="method-description">
262
+ <p>
263
+ Create a <a href="RIO/Rio.html">Rio</a> as with <a
264
+ href="RIO.html#M000001">RIO#rio</a> which refers to the current working
265
+ directory
266
+ </p>
267
+ <pre>
268
+ wd = RIO.cwd
269
+ </pre>
270
+ </div>
271
+ </div>
272
+
273
+ <div id="method-M000001" class="method-detail">
274
+ <a name="M000001"></a>
275
+
276
+ <div class="method-heading">
277
+ <a href="RIO.src/M000001.html" target="Code" class="method-signature"
278
+ onclick="popupCode('RIO.src/M000001.html');return false;">
279
+ <span class="method-name">rio</span><span class="method-args">(*args) {|self| ...}</span>
280
+ </a>
281
+ </div>
282
+
283
+ <div class="method-description">
284
+ <p>
285
+ <a href="RIO/Rio.html">Rio</a> Constructor
286
+ </p>
287
+ <p>
288
+ For purposes of discussion, we divide Rios into two catagories, those that
289
+ have a path and those that don&#8217;t.
290
+ </p>
291
+ <h4>Creating a <a href="RIO/Rio.html">Rio</a> that has a path</h4>
292
+ <p>
293
+ To create a <a href="RIO/Rio.html">Rio</a> that has a path the arguments to
294
+ <tt>rio</tt> may be:
295
+ </p>
296
+ <ul>
297
+ <li>a string representing the entire path. The separator used for Rios is as
298
+ specified in RFC1738 (&#8217;/&#8217;).
299
+
300
+ <pre>
301
+ rio('adir/afile')
302
+ </pre>
303
+ </li>
304
+ <li>a string representing a fully qualified <tt>file</tt> URL as per RFC1738
305
+
306
+ <pre>
307
+ rio('file:///atopleveldir/adir/afile')
308
+ </pre>
309
+ </li>
310
+ <li>a <tt>URI</tt> object representing a <tt>file</tt> or generic <tt>URL</tt>
311
+
312
+ <pre>
313
+ rio(URI('adir/afile'))
314
+ </pre>
315
+ </li>
316
+ <li>the components of a path as separate arguments
317
+
318
+ <pre>
319
+ rio('adir','afile')
320
+ </pre>
321
+ </li>
322
+ <li>the components of a path as an array of separate arguments
323
+
324
+ <pre>
325
+ rio(%w/adir afile/)
326
+ </pre>
327
+ </li>
328
+ <li>another <a href="RIO/Rio.html">Rio</a>
329
+
330
+ <pre>
331
+ another_rio = rio('adir/afile')
332
+ rio(another_rio)
333
+ </pre>
334
+ </li>
335
+ <li>any object whose <tt>to_s</tt> method returns one of the above
336
+
337
+ <pre>
338
+ rio(Pathname.new('apath'))
339
+ </pre>
340
+ </li>
341
+ <li>any combination of the above either as separate arguments or as elements of
342
+ an array,
343
+
344
+ <pre>
345
+ another_rio = rio('dir1/dir2')
346
+ auri = URI('dir4/dir5)
347
+ rio(another_rio,'dir3',auri,'dir6/dir7')
348
+ </pre>
349
+ </li>
350
+ </ul>
351
+ <h5>Creating a <a href="RIO/Rio.html">Rio</a> that refers to a web page</h5>
352
+ <p>
353
+ To create a <a href="RIO/Rio.html">Rio</a> that refers to a web page the
354
+ arguments to <tt>rio</tt> may be:
355
+ </p>
356
+ <ul>
357
+ <li>a string representing a fully qualified <tt>http</tt> URL
358
+
359
+ <pre>
360
+ rio('http://ruby-doc.org/index.html')
361
+ </pre>
362
+ </li>
363
+ <li>a <tt>URI</tt> object representing a <tt>http</tt> <tt>URL</tt>
364
+
365
+ <pre>
366
+ rio(URI('http://ruby-doc.org/index.html'))
367
+ </pre>
368
+ </li>
369
+ <li>either of the above with additional path elements
370
+
371
+ <pre>
372
+ rio('http://www.ruby-doc.org/','core','classes/Object.html')
373
+ </pre>
374
+ </li>
375
+ </ul>
376
+ <h5>Creating a <a href="RIO/Rio.html">Rio</a> that refers to a file or directory on a FTP server</h5>
377
+ <p>
378
+ To create a <a href="RIO/Rio.html">Rio</a> that refers to a file on a FTP
379
+ server the arguments to <tt>rio</tt> may be:
380
+ </p>
381
+ <ul>
382
+ <li>a string representing a fully qualified <tt>ftp</tt> URL
383
+
384
+ <pre>
385
+ rio('ftp://user:password@ftp.example.com/afile.tar.gz')
386
+ </pre>
387
+ </li>
388
+ <li>a <tt>URI</tt> object representing a <tt>ftp</tt> <tt>URL</tt>
389
+
390
+ <pre>
391
+ rio(URI('ftp://ftp.example.com/afile.tar.gz'))
392
+ </pre>
393
+ </li>
394
+ <li>either of the above with additional path elements
395
+
396
+ <pre>
397
+ rio('ftp://ftp.gnu.org/pub/gnu','emacs','windows','README')
398
+ </pre>
399
+ </li>
400
+ </ul>
401
+ <h4>Creating Rios that do not have a path</h4>
402
+ <p>
403
+ To create a <a href="RIO/Rio.html">Rio</a> without a path, the first
404
+ argument to <tt>rio</tt> is usually either a single character or a symbol.
405
+ </p>
406
+ <h5>Creating a <a href="RIO/Rio.html">Rio</a> that refers to a clone of your programs stdin or stdout.</h5>
407
+ <p>
408
+ <tt>rio(?-)</tt> (mnemonic: &#8217;-&#8217; is used by some Unix programs
409
+ to specify stdin or stdout in place of a file)
410
+ </p>
411
+ <p>
412
+ <tt>rio(:stdio)</tt>
413
+ </p>
414
+ <p>
415
+ Just as a <a href="RIO/Rio.html">Rio</a> that refers to a file, does not
416
+ know whether that file will be opened for reading or writing until an I/O
417
+ operation is specified, a <tt>stdio:</tt> <a href="RIO/Rio.html">Rio</a>
418
+ does not know whether it will connect to stdin or stdout until an I/O
419
+ operation is specified.
420
+ </p>
421
+ <p>
422
+ Currently :stdin and :stdout are allowed as synonyms for :stdio. This
423
+ allows one to write
424
+ </p>
425
+ <pre>
426
+ rio(:stdout).puts(&quot;Hello :stdout&quot;)
427
+ </pre>
428
+ <p>
429
+ which is reasonable. It also allows one to write
430
+ </p>
431
+ <pre>
432
+ rio(:stdin).puts(&quot;Hello :stdin&quot;)
433
+ </pre>
434
+ <p>
435
+ which is not reasonable and will be disallowed in future releases.
436
+ </p>
437
+ <h5>Creating a <a href="RIO/Rio.html">Rio</a> that refers to a clone of your programs stderr.</h5>
438
+ <p>
439
+ <tt>rio(?=)</tt> (mnemonic: &#8217;-&#8217; refers to fileno 1, so
440
+ &#8217;=&#8217; refers to fileno 2)
441
+ </p>
442
+ <p>
443
+ <tt>rio(:stderr)</tt>
444
+ </p>
445
+ <h5>Creating a <a href="RIO/Rio.html">Rio</a> that refers to an arbitrary IO object.</h5>
446
+ <pre>
447
+ an_io = ::File.new('afile')
448
+ rio(an_io)
449
+ </pre>
450
+ <h5>Creating a <a href="RIO/Rio.html">Rio</a> that refers to a file descriptor</h5>
451
+ <p>
452
+ <tt>rio(?#,file_descriptor)</tt> (mnemonic: a file descriptor is a number
453
+ &#8217;#&#8217;)
454
+ </p>
455
+ <p>
456
+ <tt>rio(:fd,file_descriptor)</tt>
457
+ </p>
458
+ <pre>
459
+ an_io = ::File.new('afile')
460
+ fnum = an_io.fileno
461
+ rio(?#,fnum)
462
+ </pre>
463
+ <h5>Creating a <a href="RIO/Rio.html">Rio</a> that refers to a StringIO object</h5>
464
+ <p>
465
+ <tt>rio(?&quot;)</tt> (mnemonic: &#8217;&quot;&#8217; surrounds strings)
466
+ </p>
467
+ <p>
468
+ <tt>rio(:strio)</tt>
469
+ </p>
470
+ <p>
471
+ Alpha note: Should :strio be changed to :stringio, or even :string. Should
472
+ more than one be allowed? I am leaning toward :string
473
+ </p>
474
+ <ul>
475
+ <li>create a <a href="RIO/Rio.html">Rio</a> that refers to a string that it
476
+ creates
477
+
478
+ <pre>
479
+ rio(?&quot;)
480
+ </pre>
481
+ </li>
482
+ <li>create a <a href="RIO/Rio.html">Rio</a> that refers to a string of your
483
+ choosing
484
+
485
+ <pre>
486
+ astring = &quot;&quot;
487
+ rio(?&quot;,astring)
488
+ </pre>
489
+ </li>
490
+ </ul>
491
+ <h5>Creating a <a href="RIO/Rio.html">Rio</a> that refers to a temporary object</h5>
492
+ <p>
493
+ To create a temporary object that will become a file (Tempfile) or a
494
+ temporary directory, depending on how it is used.
495
+ </p>
496
+ <p>
497
+ <tt>rio(??)</tt> (mnemonic: &#8217;?&#8217; you don&#8217;t know its name)
498
+ </p>
499
+ <p>
500
+ <tt>rio(:temp)</tt>
501
+ </p>
502
+ <p>
503
+ The following are also supported, to specify file or directory
504
+ </p>
505
+ <p>
506
+ <tt>rio(:tempfile)</tt>
507
+ </p>
508
+ <p>
509
+ <tt>rio(:tempdir)</tt>
510
+ </p>
511
+ <pre>
512
+ rio(??)
513
+ rio(??,basename='rio',tmpdir=Dir::tmpdir)
514
+ </pre>
515
+ <p>
516
+ To create a temporary object that will become a file or a directory,
517
+ depending on how you use it:
518
+ </p>
519
+ <pre>
520
+ rio(??)
521
+ rio(??,basename='rio',tmpdir=Dir::tmpdir)
522
+ </pre>
523
+ <p>
524
+ To force it to become a file
525
+ </p>
526
+ <pre>
527
+ rio(??).file
528
+ </pre>
529
+ <p>
530
+ or just write to it.
531
+ </p>
532
+ <p>
533
+ To force it to become a directory:
534
+ </p>
535
+ <pre>
536
+ rio(??).mkdir
537
+ </pre>
538
+ <p>
539
+ or
540
+ </p>
541
+ <pre>
542
+ rio(??).chdir
543
+ </pre>
544
+ <h5>Creating a <a href="RIO/Rio.html">Rio</a> that refers to an arbitrary TCPSocket</h5>
545
+ <p>
546
+ <tt>rio(&#8216;tcp:&#8217;,hostname,port)</tt>
547
+ </p>
548
+ <p>
549
+ <tt>rio(&#8216;tcp://hostname:port&#8217;)</tt>
550
+ </p>
551
+ <p>
552
+ <tt>rio(:tcp,hostname,port)</tt>
553
+ </p>
554
+ <h5>Creating a <a href="RIO/Rio.html">Rio</a> that runs an external program and connects to its stdin and stdout</h5>
555
+ <p>
556
+ <tt>rio(?-,cmd)</tt> (mnemonic: &#8217;-&#8217; is used by some Unix
557
+ programs to specify stdin or stdout in place of a file)
558
+ </p>
559
+ <p>
560
+ <tt>rio(?`,cmd)</tt> (mnemonic: &#8217;`&#8217; (backtick) runs an external
561
+ program in ruby)
562
+ </p>
563
+ <p>
564
+ <tt>rio(:cmdio,cmd)</tt>
565
+ </p>
566
+ <p>
567
+ This is <a href="RIO/Rio.html">Rio</a>&#8217;s interface to IO#popen
568
+ </p>
569
+ <h5>Creating a <a href="RIO/Rio.html">Rio</a> Pipe</h5>
570
+ <p>
571
+ A <a href="RIO/Rio.html">Rio</a> Pipe is a sequence of Rios that are run
572
+ with the output of each being copied to the input of the next.
573
+ </p>
574
+ <p>
575
+ <tt>rio(?|, ario, &#8230;)</tt> (mnemonic: &#8217;|&#8217; is the Unix pipe
576
+ operator)
577
+ </p>
578
+ <p>
579
+ <tt>rio(:cmdpipe, ario, &#8230;)</tt>
580
+ </p>
581
+ <p>
582
+ See also <a href="RIO/Rio.html">Rio</a>#|
583
+ </p>
584
+ </div>
585
+ </div>
586
+
587
+ <div id="method-M000003" class="method-detail">
588
+ <a name="M000003"></a>
589
+
590
+ <div class="method-heading">
591
+ <a href="RIO.src/M000003.html" target="Code" class="method-signature"
592
+ onclick="popupCode('RIO.src/M000003.html');return false;">
593
+ <span class="method-name">root</span><span class="method-args">(*args) {|self| ...}</span>
594
+ </a>
595
+ </div>
596
+
597
+ <div class="method-description">
598
+ <p>
599
+ Create a <a href="RIO/Rio.html">Rio</a> as with <a
600
+ href="RIO.html#M000001">RIO#rio</a> which refers to a directory at the root
601
+ of the file system
602
+ </p>
603
+ <pre>
604
+ tmpdir = RIO.root('tmp') #=&gt; rio('/tmp')
605
+ </pre>
606
+ </div>
607
+ </div>
608
+
609
+
610
+ </div>
611
+
612
+
613
+ </div>
614
+
615
+
616
+ <div id="validator-badges">
617
+ <p><small>Copyright &copy; 2005 Christopher Kleckner. <a href="http://www.gnu.org/licenses/gpl.html">All rights reserved</a>.</small></p>
618
+ </div>
619
+
620
+ </body>
621
+ </html>