folio 0.2.0 → 0.3.0

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