folio 0.2.0 → 0.3.0

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 (225) hide show
  1. data/CHANGES +12 -0
  2. data/MANIFEST +13 -227
  3. data/NEWS +8 -6
  4. data/TODO +8 -0
  5. data/VERSION +1 -0
  6. data/doc/book/basedir-spec-0.6.html +138 -0
  7. data/lib/folio.rb +16 -5
  8. data/lib/folio/directory.rb +8 -3
  9. data/lib/folio/document.rb +4 -0
  10. data/lib/folio/errors.rb +3 -0
  11. data/lib/folio/fileobject.rb +19 -10
  12. data/lib/folio/link.rb +10 -4
  13. data/lib/folio/pipe.rb +4 -0
  14. data/lib/folio/{prompt.rb → shell.rb} +92 -21
  15. data/lib/folio/xdg.rb +136 -0
  16. data/meta/abstract +1 -0
  17. data/meta/authors +1 -0
  18. data/meta/contact +1 -0
  19. data/meta/homepage +1 -0
  20. data/meta/releases +2 -0
  21. data/meta/summary +1 -0
  22. metadata +26 -239
  23. data/METADATA +0 -9
  24. data/doc/rdoc/classes/Enumerator.html +0 -92
  25. data/doc/rdoc/classes/Folio.html +0 -158
  26. data/doc/rdoc/classes/Folio/BlockDevice.html +0 -117
  27. data/doc/rdoc/classes/Folio/CharacterDevice.html +0 -117
  28. data/doc/rdoc/classes/Folio/Device.html +0 -119
  29. data/doc/rdoc/classes/Folio/Directory.html +0 -548
  30. data/doc/rdoc/classes/Folio/Document.html +0 -340
  31. data/doc/rdoc/classes/Folio/FileNotFound.html +0 -92
  32. data/doc/rdoc/classes/Folio/FileObject.html +0 -1205
  33. data/doc/rdoc/classes/Folio/Link.html +0 -238
  34. data/doc/rdoc/classes/Folio/Pipe.html +0 -131
  35. data/doc/rdoc/classes/Folio/Prompt.html +0 -839
  36. data/doc/rdoc/classes/Folio/Socket.html +0 -115
  37. data/doc/rdoc/created.rid +0 -1
  38. data/doc/rdoc/files/CHANGES.html +0 -92
  39. data/doc/rdoc/files/COPYING.html +0 -992
  40. data/doc/rdoc/files/METADATA.html +0 -102
  41. data/doc/rdoc/files/NEWS.html +0 -102
  42. data/doc/rdoc/files/README.html +0 -171
  43. data/doc/rdoc/files/lib/folio/device_rb.html +0 -96
  44. data/doc/rdoc/files/lib/folio/directory_rb.html +0 -96
  45. data/doc/rdoc/files/lib/folio/document_rb.html +0 -96
  46. data/doc/rdoc/files/lib/folio/errors_rb.html +0 -92
  47. data/doc/rdoc/files/lib/folio/fileobject_rb.html +0 -97
  48. data/doc/rdoc/files/lib/folio/link_rb.html +0 -96
  49. data/doc/rdoc/files/lib/folio/pipe_rb.html +0 -96
  50. data/doc/rdoc/files/lib/folio/prompt_rb.html +0 -92
  51. data/doc/rdoc/files/lib/folio/socket_rb.html +0 -96
  52. data/doc/rdoc/files/lib/folio_rb.html +0 -105
  53. data/doc/rdoc/fr_class_index.html +0 -59
  54. data/doc/rdoc/fr_file_index.html +0 -61
  55. data/doc/rdoc/fr_method_index.html +0 -195
  56. data/doc/rdoc/index.html +0 -26
  57. data/doc/rdoc/rdoc-style.css +0 -175
  58. data/doc/ri/Enumerator/cdesc-Enumerator.yaml +0 -15
  59. data/doc/ri/Folio/BlockDevice/blockdev%3f-i.yaml +0 -10
  60. data/doc/ri/Folio/BlockDevice/cdesc-BlockDevice.yaml +0 -18
  61. data/doc/ri/Folio/CharacterDevice/cdesc-CharacterDevice.yaml +0 -18
  62. data/doc/ri/Folio/CharacterDevice/chardev%3f-i.yaml +0 -10
  63. data/doc/ri/Folio/Device/cdesc-Device.yaml +0 -18
  64. data/doc/ri/Folio/Device/new-c.yaml +0 -10
  65. data/doc/ri/Folio/Directory/%2b-i.yaml +0 -12
  66. data/doc/ri/Folio/Directory/%2f-i.yaml +0 -13
  67. data/doc/ri/Folio/Directory/cd-i.yaml +0 -12
  68. data/doc/ri/Folio/Directory/cdesc-Directory.yaml +0 -57
  69. data/doc/ri/Folio/Directory/chdir-i.yaml +0 -13
  70. data/doc/ri/Folio/Directory/chmod_r-i.yaml +0 -12
  71. data/doc/ri/Folio/Directory/chown_r-i.yaml +0 -12
  72. data/doc/ri/Folio/Directory/chroot-i.yaml +0 -12
  73. data/doc/ri/Folio/Directory/cp_r-i.yaml +0 -12
  74. data/doc/ri/Folio/Directory/delete-i.yaml +0 -12
  75. data/doc/ri/Folio/Directory/directories-i.yaml +0 -12
  76. data/doc/ri/Folio/Directory/directory%3f-i.yaml +0 -10
  77. data/doc/ri/Folio/Directory/directory_entries-i.yaml +0 -12
  78. data/doc/ri/Folio/Directory/document_entries-i.yaml +0 -12
  79. data/doc/ri/Folio/Directory/documents-i.yaml +0 -12
  80. data/doc/ri/Folio/Directory/entries-i.yaml +0 -12
  81. data/doc/ri/Folio/Directory/files-i.yaml +0 -12
  82. data/doc/ri/Folio/Directory/foreach-i.yaml +0 -12
  83. data/doc/ri/Folio/Directory/new-c.yaml +0 -10
  84. data/doc/ri/Folio/Directory/rm_r-i.yaml +0 -12
  85. data/doc/ri/Folio/Directory/rm_rf-i.yaml +0 -12
  86. data/doc/ri/Folio/Directory/rmdir-i.yaml +0 -15
  87. data/doc/ri/Folio/Directory/unlink-i.yaml +0 -12
  88. data/doc/ri/Folio/Document/%3c%3c-i.yaml +0 -12
  89. data/doc/ri/Folio/Document/%3c-i.yaml +0 -12
  90. data/doc/ri/Folio/Document/append-i.yaml +0 -13
  91. data/doc/ri/Folio/Document/cdesc-Document.yaml +0 -42
  92. data/doc/ri/Folio/Document/delete-i.yaml +0 -10
  93. data/doc/ri/Folio/Document/document%3f-i.yaml +0 -12
  94. data/doc/ri/Folio/Document/executable%3f-i.yaml +0 -10
  95. data/doc/ri/Folio/Document/executable_real%3f-i.yaml +0 -10
  96. data/doc/ri/Folio/Document/intialize-i.yaml +0 -10
  97. data/doc/ri/Folio/Document/open-i.yaml +0 -10
  98. data/doc/ri/Folio/Document/read-i.yaml +0 -10
  99. data/doc/ri/Folio/Document/readlines-i.yaml +0 -10
  100. data/doc/ri/Folio/Document/truncate-i.yaml +0 -10
  101. data/doc/ri/Folio/Document/unlink-i.yaml +0 -12
  102. data/doc/ri/Folio/Document/write-i.yaml +0 -13
  103. data/doc/ri/Folio/FileNotFound/cdesc-FileNotFound.yaml +0 -15
  104. data/doc/ri/Folio/FileObject/%3c%3d%3e-i.yaml +0 -10
  105. data/doc/ri/Folio/FileObject/%3d%3d-i.yaml +0 -10
  106. data/doc/ri/Folio/FileObject/%5b%5d-c.yaml +0 -12
  107. data/doc/ri/Folio/FileObject/atime-i.yaml +0 -10
  108. data/doc/ri/Folio/FileObject/basename-i.yaml +0 -10
  109. data/doc/ri/Folio/FileObject/blockdev%3f-i.yaml +0 -10
  110. data/doc/ri/Folio/FileObject/cdesc-FileObject.yaml +0 -154
  111. data/doc/ri/Folio/FileObject/chardev%3f-i.yaml +0 -10
  112. data/doc/ri/Folio/FileObject/chmod-i.yaml +0 -10
  113. data/doc/ri/Folio/FileObject/chown-i.yaml +0 -10
  114. data/doc/ri/Folio/FileObject/cp-i.yaml +0 -12
  115. data/doc/ri/Folio/FileObject/ctime-i.yaml +0 -10
  116. data/doc/ri/Folio/FileObject/delete-i.yaml +0 -12
  117. data/doc/ri/Folio/FileObject/delete_force-i.yaml +0 -12
  118. data/doc/ri/Folio/FileObject/directory%3f-i.yaml +0 -10
  119. data/doc/ri/Folio/FileObject/dirname-i.yaml +0 -10
  120. data/doc/ri/Folio/FileObject/document%3f-i.yaml +0 -12
  121. data/doc/ri/Folio/FileObject/exist%3f-i.yaml +0 -13
  122. data/doc/ri/Folio/FileObject/exists%3f-i.yaml +0 -12
  123. data/doc/ri/Folio/FileObject/extname-i.yaml +0 -10
  124. data/doc/ri/Folio/FileObject/fnmatch%3f-i.yaml +0 -12
  125. data/doc/ri/Folio/FileObject/fnmatch-i.yaml +0 -11
  126. data/doc/ri/Folio/FileObject/grpowned%3f-i.yaml +0 -10
  127. data/doc/ri/Folio/FileObject/identical%3f-i.yaml +0 -10
  128. data/doc/ri/Folio/FileObject/inspect-i.yaml +0 -12
  129. data/doc/ri/Folio/FileObject/install-i.yaml +0 -12
  130. data/doc/ri/Folio/FileObject/link-i.yaml +0 -11
  131. data/doc/ri/Folio/FileObject/link_force-i.yaml +0 -11
  132. data/doc/ri/Folio/FileObject/ln-i.yaml +0 -12
  133. data/doc/ri/Folio/FileObject/ln_f-i.yaml +0 -12
  134. data/doc/ri/Folio/FileObject/ln_s-i.yaml +0 -12
  135. data/doc/ri/Folio/FileObject/ln_sf-i.yaml +0 -12
  136. data/doc/ri/Folio/FileObject/mtime-i.yaml +0 -10
  137. data/doc/ri/Folio/FileObject/mv-i.yaml +0 -12
  138. data/doc/ri/Folio/FileObject/new-c.yaml +0 -10
  139. data/doc/ri/Folio/FileObject/owned%3f-i.yaml +0 -10
  140. data/doc/ri/Folio/FileObject/pipe%3f-i.yaml +0 -10
  141. data/doc/ri/Folio/FileObject/readable%3f-i.yaml +0 -10
  142. data/doc/ri/Folio/FileObject/readable_real%3f-i.yaml +0 -10
  143. data/doc/ri/Folio/FileObject/relative-i.yaml +0 -12
  144. data/doc/ri/Folio/FileObject/rename-i.yaml +0 -11
  145. data/doc/ri/Folio/FileObject/restat-i.yaml +0 -13
  146. data/doc/ri/Folio/FileObject/rm-i.yaml +0 -12
  147. data/doc/ri/Folio/FileObject/rm_f-i.yaml +0 -12
  148. data/doc/ri/Folio/FileObject/setgid%3f-i.yaml +0 -10
  149. data/doc/ri/Folio/FileObject/setuid%3f-i.yaml +0 -10
  150. data/doc/ri/Folio/FileObject/size%3f-i.yaml +0 -10
  151. data/doc/ri/Folio/FileObject/size-i.yaml +0 -10
  152. data/doc/ri/Folio/FileObject/socket%3f-i.yaml +0 -10
  153. data/doc/ri/Folio/FileObject/split-i.yaml +0 -12
  154. data/doc/ri/Folio/FileObject/stat%21-i.yaml +0 -12
  155. data/doc/ri/Folio/FileObject/stat-i.yaml +0 -12
  156. data/doc/ri/Folio/FileObject/sticky%3f-i.yaml +0 -10
  157. data/doc/ri/Folio/FileObject/symlink-i.yaml +0 -11
  158. data/doc/ri/Folio/FileObject/symlink_force-i.yaml +0 -11
  159. data/doc/ri/Folio/FileObject/to_s-i.yaml +0 -12
  160. data/doc/ri/Folio/FileObject/touch-i.yaml +0 -10
  161. data/doc/ri/Folio/FileObject/unlink-i.yaml +0 -15
  162. data/doc/ri/Folio/FileObject/unlink_force-i.yaml +0 -13
  163. data/doc/ri/Folio/FileObject/util-i.yaml +0 -10
  164. data/doc/ri/Folio/FileObject/utime-i.yaml +0 -10
  165. data/doc/ri/Folio/FileObject/writable%3f-i.yaml +0 -10
  166. data/doc/ri/Folio/FileObject/writable_real%3f-i.yaml +0 -10
  167. data/doc/ri/Folio/FileObject/zero%3f-i.yaml +0 -10
  168. data/doc/ri/Folio/Link/cdesc-Link.yaml +0 -29
  169. data/doc/ri/Folio/Link/lchmod-i.yaml +0 -10
  170. data/doc/ri/Folio/Link/lchown-i.yaml +0 -10
  171. data/doc/ri/Folio/Link/link%3f-i.yaml +0 -10
  172. data/doc/ri/Folio/Link/lstat-i.yaml +0 -10
  173. data/doc/ri/Folio/Link/method_missing-i.yaml +0 -11
  174. data/doc/ri/Folio/Link/new-c.yaml +0 -10
  175. data/doc/ri/Folio/Link/readlink-i.yaml +0 -10
  176. data/doc/ri/Folio/Link/symlink%3f-i.yaml +0 -10
  177. data/doc/ri/Folio/Pipe/cdesc-Pipe.yaml +0 -17
  178. data/doc/ri/Folio/Pipe/new-c.yaml +0 -10
  179. data/doc/ri/Folio/Pipe/pipe%3f-i.yaml +0 -10
  180. data/doc/ri/Folio/Prompt/%2b-i.yaml +0 -13
  181. data/doc/ri/Folio/Prompt/%2f-i.yaml +0 -12
  182. data/doc/ri/Folio/Prompt/%5b%5d-c.yaml +0 -10
  183. data/doc/ri/Folio/Prompt/%5b%5d-i.yaml +0 -12
  184. data/doc/ri/Folio/Prompt/cd-i.yaml +0 -10
  185. data/doc/ri/Folio/Prompt/cdesc-Prompt.yaml +0 -95
  186. data/doc/ri/Folio/Prompt/chmod-i.yaml +0 -10
  187. data/doc/ri/Folio/Prompt/chmod_r-i.yaml +0 -10
  188. data/doc/ri/Folio/Prompt/chown-i.yaml +0 -12
  189. data/doc/ri/Folio/Prompt/chown_r-i.yaml +0 -10
  190. data/doc/ri/Folio/Prompt/cp-i.yaml +0 -12
  191. data/doc/ri/Folio/Prompt/cp_r-i.yaml +0 -12
  192. data/doc/ri/Folio/Prompt/directories-i.yaml +0 -12
  193. data/doc/ri/Folio/Prompt/directory_entries-i.yaml +0 -12
  194. data/doc/ri/Folio/Prompt/document_entries-i.yaml +0 -12
  195. data/doc/ri/Folio/Prompt/documents-i.yaml +0 -12
  196. data/doc/ri/Folio/Prompt/entries-i.yaml +0 -13
  197. data/doc/ri/Folio/Prompt/file-i.yaml +0 -13
  198. data/doc/ri/Folio/Prompt/files-i.yaml +0 -12
  199. data/doc/ri/Folio/Prompt/fileutils-i.yaml +0 -12
  200. data/doc/ri/Folio/Prompt/glob-i.yaml +0 -12
  201. data/doc/ri/Folio/Prompt/install-i.yaml +0 -10
  202. data/doc/ri/Folio/Prompt/ln-i.yaml +0 -12
  203. data/doc/ri/Folio/Prompt/ln_s-i.yaml +0 -12
  204. data/doc/ri/Folio/Prompt/ln_sf-i.yaml +0 -10
  205. data/doc/ri/Folio/Prompt/localize-i.yaml +0 -10
  206. data/doc/ri/Folio/Prompt/ls-i.yaml +0 -12
  207. data/doc/ri/Folio/Prompt/mkdir-i.yaml +0 -10
  208. data/doc/ri/Folio/Prompt/mkdir_p-i.yaml +0 -10
  209. data/doc/ri/Folio/Prompt/mode-i.yaml +0 -12
  210. data/doc/ri/Folio/Prompt/mv-i.yaml +0 -12
  211. data/doc/ri/Folio/Prompt/new-c.yaml +0 -11
  212. data/doc/ri/Folio/Prompt/rm-i.yaml +0 -10
  213. data/doc/ri/Folio/Prompt/rm_r-i.yaml +0 -10
  214. data/doc/ri/Folio/Prompt/rm_rf-i.yaml +0 -10
  215. data/doc/ri/Folio/Prompt/rmdir-i.yaml +0 -10
  216. data/doc/ri/Folio/Prompt/to_s-i.yaml +0 -10
  217. data/doc/ri/Folio/Prompt/touch-i.yaml +0 -12
  218. data/doc/ri/Folio/Socket/cdesc-Socket.yaml +0 -16
  219. data/doc/ri/Folio/Socket/new-c.yaml +0 -10
  220. data/doc/ri/Folio/cdesc-Folio.yaml +0 -15
  221. data/doc/ri/created.rid +0 -1
  222. data/test/fixture/bar.txt +0 -0
  223. data/test/fixture/foo.txt +0 -0
  224. data/test/test_folio.rb +0 -28
  225. data/test/test_helper.rb +0 -7
data/CHANGES CHANGED
@@ -1,2 +1,14 @@
1
+ == 0.3.0 / 2008-09-17
1
2
 
3
+ * 2 Major Enhancements
4
+
5
+ * Added XDG methods to Prompt class. (#9a926a12a0b061c3ec9bfbd23f5387e65c1e7201)
6
+ * Renamed Prompt to Shell. (#da2eb57bccd4400e0b272836ad9cf23ce23d6b19)
7
+
8
+
9
+ == 0.2.0 / 2008-09-06
10
+
11
+ * 1 Major Enhancements
12
+
13
+ * Started Repository. (#20c00238d1401c2b4385f0a6109c2c001b922008)
2
14
 
data/MANIFEST CHANGED
@@ -1,232 +1,16 @@
1
1
  doc
2
- doc/rdoc
3
- doc/rdoc/fr_file_index.html
4
- doc/rdoc/classes
5
- doc/rdoc/classes/Enumerator.html
6
- doc/rdoc/classes/Folio
7
- doc/rdoc/classes/Folio/FileObject.html
8
- doc/rdoc/classes/Folio/BlockDevice.html
9
- doc/rdoc/classes/Folio/Link.html
10
- doc/rdoc/classes/Folio/Document.html
11
- doc/rdoc/classes/Folio/CharacterDevice.html
12
- doc/rdoc/classes/Folio/Pipe.html
13
- doc/rdoc/classes/Folio/Device.html
14
- doc/rdoc/classes/Folio/Socket.html
15
- doc/rdoc/classes/Folio/Prompt.html
16
- doc/rdoc/classes/Folio/Directory.html
17
- doc/rdoc/classes/Folio/FileNotFound.html
18
- doc/rdoc/classes/Folio.html
19
- doc/rdoc/rdoc-style.css
20
- doc/rdoc/files
21
- doc/rdoc/files/README.html
22
- doc/rdoc/files/METADATA.html
23
- doc/rdoc/files/CHANGES.html
24
- doc/rdoc/files/lib
25
- doc/rdoc/files/lib/folio
26
- doc/rdoc/files/lib/folio/fileobject_rb.html
27
- doc/rdoc/files/lib/folio/link_rb.html
28
- doc/rdoc/files/lib/folio/document_rb.html
29
- doc/rdoc/files/lib/folio/errors_rb.html
30
- doc/rdoc/files/lib/folio/device_rb.html
31
- doc/rdoc/files/lib/folio/prompt_rb.html
32
- doc/rdoc/files/lib/folio/socket_rb.html
33
- doc/rdoc/files/lib/folio/pipe_rb.html
34
- doc/rdoc/files/lib/folio/directory_rb.html
35
- doc/rdoc/files/lib/folio_rb.html
36
- doc/rdoc/files/NEWS.html
37
- doc/rdoc/files/COPYING.html
38
- doc/rdoc/fr_class_index.html
39
- doc/rdoc/index.html
40
- doc/rdoc/created.rid
41
- doc/rdoc/fr_method_index.html
42
- doc/ri
43
- doc/ri/Folio
44
- doc/ri/Folio/Prompt
45
- doc/ri/Folio/Prompt/chmod-i.yaml
46
- doc/ri/Folio/Prompt/touch-i.yaml
47
- doc/ri/Folio/Prompt/%2b-i.yaml
48
- doc/ri/Folio/Prompt/glob-i.yaml
49
- doc/ri/Folio/Prompt/mkdir-i.yaml
50
- doc/ri/Folio/Prompt/ln-i.yaml
51
- doc/ri/Folio/Prompt/mv-i.yaml
52
- doc/ri/Folio/Prompt/files-i.yaml
53
- doc/ri/Folio/Prompt/entries-i.yaml
54
- doc/ri/Folio/Prompt/rm_rf-i.yaml
55
- doc/ri/Folio/Prompt/mkdir_p-i.yaml
56
- doc/ri/Folio/Prompt/documents-i.yaml
57
- doc/ri/Folio/Prompt/%2f-i.yaml
58
- doc/ri/Folio/Prompt/ln_sf-i.yaml
59
- doc/ri/Folio/Prompt/chown-i.yaml
60
- doc/ri/Folio/Prompt/ln_s-i.yaml
61
- doc/ri/Folio/Prompt/directories-i.yaml
62
- doc/ri/Folio/Prompt/directory_entries-i.yaml
63
- doc/ri/Folio/Prompt/cp-i.yaml
64
- doc/ri/Folio/Prompt/document_entries-i.yaml
65
- doc/ri/Folio/Prompt/rmdir-i.yaml
66
- doc/ri/Folio/Prompt/localize-i.yaml
67
- doc/ri/Folio/Prompt/chown_r-i.yaml
68
- doc/ri/Folio/Prompt/mode-i.yaml
69
- doc/ri/Folio/Prompt/cp_r-i.yaml
70
- doc/ri/Folio/Prompt/install-i.yaml
71
- doc/ri/Folio/Prompt/rm_r-i.yaml
72
- doc/ri/Folio/Prompt/cdesc-Prompt.yaml
73
- doc/ri/Folio/Prompt/chmod_r-i.yaml
74
- doc/ri/Folio/Prompt/file-i.yaml
75
- doc/ri/Folio/Prompt/%5b%5d-i.yaml
76
- doc/ri/Folio/Prompt/to_s-i.yaml
77
- doc/ri/Folio/Prompt/%5b%5d-c.yaml
78
- doc/ri/Folio/Prompt/new-c.yaml
79
- doc/ri/Folio/Prompt/fileutils-i.yaml
80
- doc/ri/Folio/Prompt/cd-i.yaml
81
- doc/ri/Folio/Prompt/rm-i.yaml
82
- doc/ri/Folio/Prompt/ls-i.yaml
83
- doc/ri/Folio/Link
84
- doc/ri/Folio/Link/lstat-i.yaml
85
- doc/ri/Folio/Link/link%3f-i.yaml
86
- doc/ri/Folio/Link/cdesc-Link.yaml
87
- doc/ri/Folio/Link/lchmod-i.yaml
88
- doc/ri/Folio/Link/lchown-i.yaml
89
- doc/ri/Folio/Link/symlink%3f-i.yaml
90
- doc/ri/Folio/Link/new-c.yaml
91
- doc/ri/Folio/Link/readlink-i.yaml
92
- doc/ri/Folio/Link/method_missing-i.yaml
93
- doc/ri/Folio/FileObject
94
- doc/ri/Folio/FileObject/chmod-i.yaml
95
- doc/ri/Folio/FileObject/split-i.yaml
96
- doc/ri/Folio/FileObject/unlink_force-i.yaml
97
- doc/ri/Folio/FileObject/rm_f-i.yaml
98
- doc/ri/Folio/FileObject/readable%3f-i.yaml
99
- doc/ri/Folio/FileObject/touch-i.yaml
100
- doc/ri/Folio/FileObject/symlink-i.yaml
101
- doc/ri/Folio/FileObject/writable_real%3f-i.yaml
102
- doc/ri/Folio/FileObject/delete_force-i.yaml
103
- doc/ri/Folio/FileObject/atime-i.yaml
104
- doc/ri/Folio/FileObject/ln-i.yaml
105
- doc/ri/Folio/FileObject/readable_real%3f-i.yaml
106
- doc/ri/Folio/FileObject/mv-i.yaml
107
- doc/ri/Folio/FileObject/size%3f-i.yaml
108
- doc/ri/Folio/FileObject/owned%3f-i.yaml
109
- doc/ri/Folio/FileObject/chardev%3f-i.yaml
110
- doc/ri/Folio/FileObject/link-i.yaml
111
- doc/ri/Folio/FileObject/grpowned%3f-i.yaml
112
- doc/ri/Folio/FileObject/stat%21-i.yaml
113
- doc/ri/Folio/FileObject/identical%3f-i.yaml
114
- doc/ri/Folio/FileObject/%3c%3d%3e-i.yaml
115
- doc/ri/Folio/FileObject/blockdev%3f-i.yaml
116
- doc/ri/Folio/FileObject/util-i.yaml
117
- doc/ri/Folio/FileObject/delete-i.yaml
118
- doc/ri/Folio/FileObject/relative-i.yaml
119
- doc/ri/Folio/FileObject/utime-i.yaml
120
- doc/ri/Folio/FileObject/fnmatch%3f-i.yaml
121
- doc/ri/Folio/FileObject/ln_sf-i.yaml
122
- doc/ri/Folio/FileObject/chown-i.yaml
123
- doc/ri/Folio/FileObject/restat-i.yaml
124
- doc/ri/Folio/FileObject/ln_s-i.yaml
125
- doc/ri/Folio/FileObject/inspect-i.yaml
126
- doc/ri/Folio/FileObject/size-i.yaml
127
- doc/ri/Folio/FileObject/exists%3f-i.yaml
128
- doc/ri/Folio/FileObject/cp-i.yaml
129
- doc/ri/Folio/FileObject/setgid%3f-i.yaml
130
- doc/ri/Folio/FileObject/symlink_force-i.yaml
131
- doc/ri/Folio/FileObject/socket%3f-i.yaml
132
- doc/ri/Folio/FileObject/unlink-i.yaml
133
- doc/ri/Folio/FileObject/%3d%3d-i.yaml
134
- doc/ri/Folio/FileObject/zero%3f-i.yaml
135
- doc/ri/Folio/FileObject/setuid%3f-i.yaml
136
- doc/ri/Folio/FileObject/exist%3f-i.yaml
137
- doc/ri/Folio/FileObject/basename-i.yaml
138
- doc/ri/Folio/FileObject/ctime-i.yaml
139
- doc/ri/Folio/FileObject/cdesc-FileObject.yaml
140
- doc/ri/Folio/FileObject/ln_f-i.yaml
141
- doc/ri/Folio/FileObject/directory%3f-i.yaml
142
- doc/ri/Folio/FileObject/document%3f-i.yaml
143
- doc/ri/Folio/FileObject/stat-i.yaml
144
- doc/ri/Folio/FileObject/install-i.yaml
145
- doc/ri/Folio/FileObject/to_s-i.yaml
146
- doc/ri/Folio/FileObject/extname-i.yaml
147
- doc/ri/Folio/FileObject/%5b%5d-c.yaml
148
- doc/ri/Folio/FileObject/writable%3f-i.yaml
149
- doc/ri/Folio/FileObject/link_force-i.yaml
150
- doc/ri/Folio/FileObject/mtime-i.yaml
151
- doc/ri/Folio/FileObject/new-c.yaml
152
- doc/ri/Folio/FileObject/pipe%3f-i.yaml
153
- doc/ri/Folio/FileObject/rename-i.yaml
154
- doc/ri/Folio/FileObject/sticky%3f-i.yaml
155
- doc/ri/Folio/FileObject/rm-i.yaml
156
- doc/ri/Folio/FileObject/dirname-i.yaml
157
- doc/ri/Folio/FileObject/fnmatch-i.yaml
158
- doc/ri/Folio/Pipe
159
- doc/ri/Folio/Pipe/cdesc-Pipe.yaml
160
- doc/ri/Folio/Pipe/new-c.yaml
161
- doc/ri/Folio/Pipe/pipe%3f-i.yaml
162
- doc/ri/Folio/Socket
163
- doc/ri/Folio/Socket/cdesc-Socket.yaml
164
- doc/ri/Folio/Socket/new-c.yaml
165
- doc/ri/Folio/Document
166
- doc/ri/Folio/Document/write-i.yaml
167
- doc/ri/Folio/Document/%3c-i.yaml
168
- doc/ri/Folio/Document/open-i.yaml
169
- doc/ri/Folio/Document/read-i.yaml
170
- doc/ri/Folio/Document/cdesc-Document.yaml
171
- doc/ri/Folio/Document/executable%3f-i.yaml
172
- doc/ri/Folio/Document/readlines-i.yaml
173
- doc/ri/Folio/Document/delete-i.yaml
174
- doc/ri/Folio/Document/intialize-i.yaml
175
- doc/ri/Folio/Document/%3c%3c-i.yaml
176
- doc/ri/Folio/Document/unlink-i.yaml
177
- doc/ri/Folio/Document/truncate-i.yaml
178
- doc/ri/Folio/Document/document%3f-i.yaml
179
- doc/ri/Folio/Document/append-i.yaml
180
- doc/ri/Folio/Document/executable_real%3f-i.yaml
181
- doc/ri/Folio/FileNotFound
182
- doc/ri/Folio/FileNotFound/cdesc-FileNotFound.yaml
183
- doc/ri/Folio/Device
184
- doc/ri/Folio/Device/cdesc-Device.yaml
185
- doc/ri/Folio/Device/new-c.yaml
186
- doc/ri/Folio/BlockDevice
187
- doc/ri/Folio/BlockDevice/blockdev%3f-i.yaml
188
- doc/ri/Folio/BlockDevice/cdesc-BlockDevice.yaml
189
- doc/ri/Folio/CharacterDevice
190
- doc/ri/Folio/CharacterDevice/chardev%3f-i.yaml
191
- doc/ri/Folio/CharacterDevice/cdesc-CharacterDevice.yaml
192
- doc/ri/Folio/Directory
193
- doc/ri/Folio/Directory/%2b-i.yaml
194
- doc/ri/Folio/Directory/files-i.yaml
195
- doc/ri/Folio/Directory/entries-i.yaml
196
- doc/ri/Folio/Directory/rm_rf-i.yaml
197
- doc/ri/Folio/Directory/documents-i.yaml
198
- doc/ri/Folio/Directory/delete-i.yaml
199
- doc/ri/Folio/Directory/chroot-i.yaml
200
- doc/ri/Folio/Directory/%2f-i.yaml
201
- doc/ri/Folio/Directory/directories-i.yaml
202
- doc/ri/Folio/Directory/directory_entries-i.yaml
203
- doc/ri/Folio/Directory/chdir-i.yaml
204
- doc/ri/Folio/Directory/foreach-i.yaml
205
- doc/ri/Folio/Directory/unlink-i.yaml
206
- doc/ri/Folio/Directory/document_entries-i.yaml
207
- doc/ri/Folio/Directory/rmdir-i.yaml
208
- doc/ri/Folio/Directory/cdesc-Directory.yaml
209
- doc/ri/Folio/Directory/chown_r-i.yaml
210
- doc/ri/Folio/Directory/directory%3f-i.yaml
211
- doc/ri/Folio/Directory/cp_r-i.yaml
212
- doc/ri/Folio/Directory/rm_r-i.yaml
213
- doc/ri/Folio/Directory/chmod_r-i.yaml
214
- doc/ri/Folio/Directory/new-c.yaml
215
- doc/ri/Folio/Directory/cd-i.yaml
216
- doc/ri/Folio/cdesc-Folio.yaml
217
- doc/ri/Enumerator
218
- doc/ri/Enumerator/cdesc-Enumerator.yaml
219
- doc/ri/created.rid
220
- test
221
- test/test_folio.rb
222
- test/test_helper.rb
223
- test/fixture
224
- test/fixture/foo.txt
225
- test/fixture/sub
226
- test/fixture/bar.txt
2
+ doc/book
3
+ doc/book/basedir-spec-0.6.html
227
4
  CHANGES
5
+ TODO
228
6
  README
229
- METADATA
7
+ meta
8
+ meta/homepage
9
+ meta/summary
10
+ meta/abstract
11
+ meta/releases
12
+ meta/authors
13
+ meta/contact
230
14
  demo
231
15
  demo/sample1
232
16
  demo/sample1/bar
@@ -240,10 +24,12 @@ lib/folio/pipe.rb
240
24
  lib/folio/directory.rb
241
25
  lib/folio/device.rb
242
26
  lib/folio/errors.rb
27
+ lib/folio/shell.rb
243
28
  lib/folio/document.rb
29
+ lib/folio/xdg.rb
244
30
  lib/folio/fileobject.rb
245
31
  lib/folio/socket.rb
246
- lib/folio/prompt.rb
247
32
  lib/folio.rb
33
+ VERSION
248
34
  NEWS
249
35
  COPYING
data/NEWS CHANGED
@@ -1,9 +1,11 @@
1
- = News & Release Notes
2
-
3
- == 0.1.0 // 2008-08-18
4
-
5
1
  Folio was spawned by ruby-talk:311762.
6
2
 
7
- This is the initial release of Folio.
8
- As such it is very much an alpha release!!!
3
+ Main new feature added with this release is support
4
+ for XDG base directories.
5
+
6
+ This is the third release since the initial idea.
7
+ Techincally this is still "alpha" code as it needs
8
+ many more tests. Nontheless, the library is a rather
9
+ strightforward wrapper around Ruby internals, so it
10
+ already fairly usable.
9
11
 
data/TODO ADDED
@@ -0,0 +1,8 @@
1
+ = TODO List
2
+
3
+ * Could Shell and Directory be unified?
4
+ * That would make Directory mutable.
5
+ * It would require two sets of methods, one for shell navigation and one not.
6
+
7
+ * Need to consider better when to use enumerators vs. returning arrays.
8
+
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ folio 0.3.0 beta (2008-09-16)
@@ -0,0 +1,138 @@
1
+ <html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>XDG Base Directory Specification</title><meta name="generator" content="DocBook XSL Stylesheets V1.66.1"></head><body link="#0000ff" alink="#0000ff" bgcolor="white" text="black" vlink="#840084"><div class="article" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="index"></a>XDG Base Directory Specification</h1></div><div><div class="authorgroup"><div class="author"><h3 class="author"><span class="firstname">Waldo</span> <span class="surname">Bastian</span></h3><div class="affiliation"><div class="address"><p><br>
2
+ &nbsp;&nbsp;&nbsp;&nbsp;<tt class="email">&lt;<a href="mailto:bastian@kde.org">bastian@kde.org</a>&gt;</tt><br>
3
+ &nbsp;&nbsp;</p></div></div></div></div></div><div><p class="releaseinfo">Version 0.6</p></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#introduction">Introduction</a></span></dt><dt><span class="sect1"><a href="#basics">Basics</a></span></dt><dt><span class="sect1"><a href="#variables">Environment variables</a></span></dt><dt><span class="sect1"><a href="#referencing">Referencing this specification</a></span></dt></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both;"><a name="introduction"></a>Introduction</h2></div></div></div><p>
4
+ Various specifications specify files and file formats. This
5
+ specification defines where these files should be looked for by
6
+ defining one or more base directories relative to which files
7
+ should be located.
8
+ </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both;"><a name="basics"></a>Basics</h2></div></div></div><p>
9
+ The XDG Base Directory Specification is based on the following concepts:
10
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
11
+ There is a single base directory relative to which user-specific
12
+ data files should be written. This directory is defined by the
13
+ environment variable <tt class="literal">$XDG_DATA_HOME</tt>.
14
+ </p></li><li><p>
15
+ There is a single base directory relative to which user-specific
16
+ configuration files should be written. This directory is defined by the
17
+ environment variable <tt class="literal">$XDG_CONFIG_HOME</tt>.
18
+ </p></li><li><p>
19
+ There is a set of preference ordered base directories relative to
20
+ which data files should be searched. This set of directories is defined
21
+ by the environment variable <tt class="literal">$XDG_DATA_DIRS</tt>.
22
+ </p></li><li><p>
23
+ There is a set of preference ordered base directories relative to
24
+ which configuration files should be searched.
25
+ This set of directories is defined
26
+ by the environment variable <tt class="literal">$XDG_CONFIG_DIRS</tt>.
27
+ </p></li><li><p>
28
+ There is a single base directory relative to which user-specific
29
+ non-essential (cached) data should be written.
30
+ This directory is defined by the
31
+ environment variable <tt class="literal">$XDG_CACHE_HOME</tt>.
32
+ </p></li></ul></div><p>
33
+ </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both;"><a name="variables"></a>Environment variables</h2></div></div></div><p>
34
+ <tt class="literal">$XDG_DATA_HOME</tt> defines the base directory relative to
35
+ which user specific data files should be stored. If
36
+ <tt class="literal">$XDG_DATA_HOME</tt> is either not set or empty, a default equal to
37
+ <tt class="literal">$HOME</tt>/.local/share should be used.
38
+ </p><p>
39
+ <tt class="literal">$XDG_CONFIG_HOME</tt> defines the base directory relative to
40
+ which user specific configuration files should be stored. If
41
+ <tt class="literal">$XDG_CONFIG_HOME</tt> is either not set or empty, a default equal to
42
+ <tt class="literal">$HOME</tt>/.config should be used.
43
+ </p><p>
44
+ <tt class="literal">$XDG_DATA_DIRS</tt> defines the preference-ordered set of
45
+ base directories to search for data files in addition to the
46
+ <tt class="literal">$XDG_DATA_HOME</tt> base directory.
47
+ The directories in <tt class="literal">$XDG_DATA_DIRS</tt> should be seperated
48
+ with a colon ':'.
49
+ </p><p>
50
+ If <tt class="literal">$XDG_DATA_DIRS</tt> is either not set or empty, a value equal to
51
+ /usr/local/share/:/usr/share/ should be used.
52
+ </p><p>
53
+ <tt class="literal">$XDG_CONFIG_DIRS</tt> defines the preference-ordered set of
54
+ base directories to search for configuration files in addition to the
55
+ <tt class="literal">$XDG_CONFIG_HOME</tt> base directory.
56
+ The directories in <tt class="literal">$XDG_CONFIG_DIRS</tt> should be seperated
57
+ with a colon ':'.
58
+ </p><p>
59
+ If <tt class="literal">$XDG_CONFIG_DIRS</tt> is either not set or empty, a value equal to
60
+ /etc/xdg should be used.
61
+ </p><p>
62
+ The order of base directories denotes their importance; the first
63
+ directory listed is the most important. When the same information is
64
+ defined in multiple places the information defined relative to the more
65
+ important base directory takes precedent. The base directory defined
66
+ by <tt class="literal">$XDG_DATA_HOME</tt> is considered more important than
67
+ any of the base directories defined by <tt class="literal">$XDG_DATA_DIRS</tt>.
68
+ The base directory defined
69
+ by <tt class="literal">$XDG_CONFIG_HOME</tt> is considered more important than
70
+ any of the base directories defined by <tt class="literal">$XDG_CONFIG_DIRS</tt>.
71
+ </p><p>
72
+ <tt class="literal">$XDG_CACHE_HOME</tt> defines the base directory relative to
73
+ which user specific non-essential data files should be stored. If
74
+ <tt class="literal">$XDG_CACHE_HOME</tt> is either not set or empty, a default equal to
75
+ <tt class="literal">$HOME</tt>/.cache should be used.
76
+ </p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both;"><a name="referencing"></a>Referencing this specification</h2></div></div></div><p>
77
+ Other specifications may reference this specification by specifying the
78
+ location of a data file as
79
+ <tt class="literal">$XDG_DATA_DIRS</tt>/subdir/filename. This implies that:
80
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
81
+ Such file should be installed to <tt class="literal">$datadir</tt>/subdir/filename
82
+ with <tt class="literal">$datadir</tt> defaulting to /usr/share.
83
+ </p></li><li><p>
84
+ A user specific version of the data file may be created in
85
+ <tt class="literal">$XDG_DATA_HOME</tt>/subdir/filename, taking into
86
+ account the default value for <tt class="literal">$XDG_DATA_HOME</tt> if
87
+ <tt class="literal">$XDG_DATA_HOME</tt> is not set.
88
+ </p></li><li><p>
89
+ Lookups of the data file should search for ./subdir/filename relative to
90
+ all base directories specified by <tt class="literal">$XDG_DATA_HOME</tt> and
91
+ <tt class="literal">$XDG_DATA_DIRS</tt> . If an environment
92
+ variable is either not set or empty, its default value as defined by this specification
93
+ should be used instead.
94
+ </p></li></ul></div><p>
95
+ </p><p>
96
+ Specifications may reference this specification by specifying the
97
+ location of a configuration file as
98
+ <tt class="literal">$XDG_CONFIG_DIRS</tt>/subdir/filename. This implies that:
99
+ </p><div class="itemizedlist"><ul type="disc"><li><p>
100
+ Default configuration files should be installed to <tt class="literal">$sysconfdir</tt>/xdg/subdir/filename
101
+ with <tt class="literal">$sysconfdir</tt> defaulting to /etc.
102
+ </p></li><li><p>
103
+ A user specific version of the configuration file may be created in
104
+ <tt class="literal">$XDG_CONFIG_HOME</tt>/subdir/filename, taking into
105
+ account the default value for <tt class="literal">$XDG_CONFIG_HOME</tt> if
106
+ <tt class="literal">$XDG_CONFIG_HOME</tt> is not set.
107
+ </p></li><li><p>
108
+ Lookups of the configuration file should search for ./subdir/filename relative to
109
+ all base directories indicated by <tt class="literal">$XDG_CONFIG_HOME</tt> and
110
+ <tt class="literal">$XDG_CONFIG_DIRS</tt> . If an environment
111
+ variable is either not set or empty, its default value as defined by this specification
112
+ should be used instead.
113
+ </p></li></ul></div><p>
114
+ </p><p>
115
+ If, when attempting to write a file, the destination
116
+ directory is non-existant an attempt should be made to create it
117
+ with permission <tt class="literal">0700</tt>. If the destination directory
118
+ exists already the permissions should not be changed.
119
+ The application should be prepared to handle the case where the file
120
+ could not be written, either because the directory was non-existant
121
+ and could not be created, or for any other reason. In such case it
122
+ may chose to present an error message to the user.
123
+ </p><p>
124
+ When attempting to read a file, if for any reason a file in a certain
125
+ directory is unaccessible, e.g. because the directory is non-existant,
126
+ the file is non-existant or the user is not authorized to open the file,
127
+ then the processing of the file in that directory should be skipped.
128
+ If due to this a required file could not be found at all, the
129
+ application may chose to present an error message to the user.
130
+ </p><p>
131
+ A specification that refers to <tt class="literal">$XDG_DATA_DIRS</tt> or
132
+ <tt class="literal">$XDG_CONFIG_DIRS</tt> should define what the behaviour
133
+ must be when a file is located under multiple base directories.
134
+ It could, for example, define that only the file under the most
135
+ important base directory should be used or, as another example,
136
+ it could define rules for merging the information from the different
137
+ files.
138
+ </p></div></div></body></html>
data/lib/folio.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'fileutils'
2
2
  require 'folio/errors'
3
- require 'folio/prompt'
3
+ require 'folio/shell'
4
4
  require 'folio/fileobject'
5
5
  require 'folio/directory'
6
6
  require 'folio/document'
@@ -20,16 +20,27 @@ require 'folio/pipe'
20
20
  # We use the term `document` instead to mean "regular files".
21
21
  # This terminolgy was chosen for two reasons. Namely, (1) a
22
22
  # differentiation in terms was required; and (2) a file in the
23
- # everyday sense is something in which one puts papars (eg. documents).
24
- #
23
+ # everyday sense is something in which one puts papars
24
+ # (eg. documents).
25
+
25
26
  module Folio
26
27
 
28
+ #
27
29
  def self.file(*path)
28
30
  FileObject[*path]
29
31
  end
30
32
 
31
- def self.[](*path)
32
- Prompt.new(*path)
33
+ def self.shell(*path)
34
+ Shell.new(*path)
35
+ end
36
+
37
+ class << self
38
+ # Should we have this?
39
+ # Perhaps Folio should be the Prompt class?
40
+ #alias_method :new, :shell
41
+
42
+ # Should #[] be alias for #file instead?
43
+ #alias_method :[], :shell ???
33
44
  end
34
45
 
35
46
  end