pho 0.7.8 → 0.7.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. data/CHANGES +8 -0
  2. data/Rakefile +4 -2
  3. data/doc/rdoc/classes/Pho.html +4 -0
  4. data/doc/rdoc/classes/Pho/CommandLine.html +114 -114
  5. data/doc/rdoc/classes/Pho/DatatypeProperty.html +12 -12
  6. data/doc/rdoc/classes/Pho/Enrichment/StoreEnricher.html +29 -29
  7. data/doc/rdoc/classes/Pho/Etags.html +36 -36
  8. data/doc/rdoc/classes/Pho/Facet/Results.html +19 -19
  9. data/doc/rdoc/classes/Pho/Facet/Term.html +6 -6
  10. data/doc/rdoc/classes/Pho/FieldPredicateMap.html +102 -102
  11. data/doc/rdoc/classes/Pho/FieldWeighting.html +12 -12
  12. data/doc/rdoc/classes/Pho/FileManagement.html +16 -0
  13. data/doc/rdoc/classes/Pho/FileManagement/AbstractFileManager.html +168 -108
  14. data/doc/rdoc/classes/Pho/FileManagement/BNodeRewritingHandler.html +226 -0
  15. data/doc/rdoc/classes/Pho/FileManagement/FileManager.html +48 -35
  16. data/doc/rdoc/classes/Pho/FileManagement/FileSplitter.html +291 -0
  17. data/doc/rdoc/classes/Pho/FileManagement/RDFManager.html +22 -22
  18. data/doc/rdoc/classes/Pho/FileManagement/StatementHandler.html +152 -0
  19. data/doc/rdoc/classes/Pho/FileManagement/Util.html +212 -0
  20. data/doc/rdoc/classes/Pho/Job.html +64 -64
  21. data/doc/rdoc/classes/Pho/Jobs.html +60 -60
  22. data/doc/rdoc/classes/Pho/OAI/Record.html +6 -6
  23. data/doc/rdoc/classes/Pho/OAI/Records.html +24 -24
  24. data/doc/rdoc/classes/Pho/OAI/Statistics.html +12 -12
  25. data/doc/rdoc/classes/Pho/QueryProfile.html +66 -66
  26. data/doc/rdoc/classes/Pho/ResourceHash/Converter.html +36 -36
  27. data/doc/rdoc/classes/Pho/ResourceHash/SetAlgebra.html +12 -12
  28. data/doc/rdoc/classes/Pho/Snapshot.html +35 -35
  29. data/doc/rdoc/classes/Pho/Sparql/SparqlClient.html +74 -74
  30. data/doc/rdoc/classes/Pho/Sparql/SparqlHelper.html +78 -78
  31. data/doc/rdoc/classes/Pho/Status.html +26 -26
  32. data/doc/rdoc/classes/Pho/Store.html +215 -215
  33. data/doc/rdoc/classes/Pho/StoreSparqlClient.html +12 -12
  34. data/doc/rdoc/classes/Pho/Update/Changeset.html +63 -63
  35. data/doc/rdoc/classes/Pho/Update/ChangesetBuilder.html +24 -24
  36. data/doc/rdoc/classes/Pho/Update/ChangesetHelper.html +6 -6
  37. data/doc/rdoc/classes/Pho/Update/Changesets.html +12 -12
  38. data/doc/rdoc/classes/Pho/Update/LiteralStatement.html +18 -18
  39. data/doc/rdoc/classes/Pho/Update/ResourceStatement.html +24 -24
  40. data/doc/rdoc/classes/Pho/Update/Statement.html +24 -24
  41. data/doc/rdoc/classes/String.html +1 -1
  42. data/doc/rdoc/created.rid +1 -1
  43. data/doc/rdoc/files/CHANGES.html +13 -1
  44. data/doc/rdoc/files/lib/pho/file_management_rb.html +1 -1
  45. data/doc/rdoc/files/lib/pho/file_manager_rb.html +1 -1
  46. data/doc/rdoc/files/lib/pho/rdf_collection_rb.html +1 -1
  47. data/doc/rdoc/files/lib/pho/upload_rb.html +101 -0
  48. data/doc/rdoc/files/lib/pho_rb.html +4 -2
  49. data/doc/rdoc/fr_class_index.html +4 -0
  50. data/doc/rdoc/fr_file_index.html +1 -0
  51. data/doc/rdoc/fr_method_index.html +228 -218
  52. data/lib/pho.rb +4 -1
  53. data/lib/pho/file_management.rb +30 -1
  54. data/lib/pho/file_manager.rb +7 -0
  55. data/lib/pho/rdf_collection.rb +4 -4
  56. data/lib/pho/upload.rb +156 -0
  57. data/tests/tc_bnodehandler.rb +42 -0
  58. data/tests/tc_filesplitter.rb +51 -0
  59. data/tests/ts_pho.rb +3 -1
  60. metadata +56 -8
@@ -93,8 +93,8 @@ href="QueryProfile.html">QueryProfile</a>
93
93
  <h3 class="section-bar">Methods</h3>
94
94
 
95
95
  <div class="name-list">
96
- <a href="#M000202">new</a>&nbsp;&nbsp;
97
- <a href="#M000203">to_rdf</a>&nbsp;&nbsp;
96
+ <a href="#M000212">new</a>&nbsp;&nbsp;
97
+ <a href="#M000213">to_rdf</a>&nbsp;&nbsp;
98
98
  </div>
99
99
  </div>
100
100
 
@@ -148,19 +148,19 @@ The weighting applied to the field
148
148
  <div id="methods">
149
149
  <h3 class="section-bar">Public Class methods</h3>
150
150
 
151
- <div id="method-M000202" class="method-detail">
152
- <a name="M000202"></a>
151
+ <div id="method-M000212" class="method-detail">
152
+ <a name="M000212"></a>
153
153
 
154
154
  <div class="method-heading">
155
- <a href="#M000202" class="method-signature">
155
+ <a href="#M000212" class="method-signature">
156
156
  <span class="method-name">new</span><span class="method-args">(uri, name, weight)</span>
157
157
  </a>
158
158
  </div>
159
159
 
160
160
  <div class="method-description">
161
161
  <p><a class="source-toggle" href="#"
162
- onclick="toggleCode('M000202-source');return false;">[Source]</a></p>
163
- <div class="method-source-code" id="M000202-source">
162
+ onclick="toggleCode('M000212-source');return false;">[Source]</a></p>
163
+ <div class="method-source-code" id="M000212-source">
164
164
  <pre>
165
165
  <span class="ruby-comment cmt"># File lib/pho/query_profile.rb, line 15</span>
166
166
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">name</span>, <span class="ruby-identifier">weight</span>)
@@ -175,11 +175,11 @@ The weighting applied to the field
175
175
 
176
176
  <h3 class="section-bar">Public Instance methods</h3>
177
177
 
178
- <div id="method-M000203" class="method-detail">
179
- <a name="M000203"></a>
178
+ <div id="method-M000213" class="method-detail">
179
+ <a name="M000213"></a>
180
180
 
181
181
  <div class="method-heading">
182
- <a href="#M000203" class="method-signature">
182
+ <a href="#M000213" class="method-signature">
183
183
  <span class="method-name">to_rdf</span><span class="method-args">(ns=true)</span>
184
184
  </a>
185
185
  </div>
@@ -195,8 +195,8 @@ rdf:Description, optionally including namespaces
195
195
  </td></tr>
196
196
  </table>
197
197
  <p><a class="source-toggle" href="#"
198
- onclick="toggleCode('M000203-source');return false;">[Source]</a></p>
199
- <div class="method-source-code" id="M000203-source">
198
+ onclick="toggleCode('M000213-source');return false;">[Source]</a></p>
199
+ <div class="method-source-code" id="M000213-source">
200
200
  <pre>
201
201
  <span class="ruby-comment cmt"># File lib/pho/query_profile.rb, line 23</span>
202
202
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_rdf</span>(<span class="ruby-identifier">ns</span>=<span class="ruby-keyword kw">true</span>)
@@ -66,6 +66,10 @@
66
66
  <a href="../../files/lib/pho/rdf_collection_rb.html">
67
67
  lib/pho/rdf_collection.rb
68
68
  </a>
69
+ <br />
70
+ <a href="../../files/lib/pho/upload_rb.html">
71
+ lib/pho/upload.rb
72
+ </a>
69
73
  <br />
70
74
  </td>
71
75
  </tr>
@@ -80,6 +84,14 @@
80
84
 
81
85
  <div id="contextContent">
82
86
 
87
+ <div id="description">
88
+ <p>
89
+ This module provides support for managing local directories of files and
90
+ mirroring them into either the metabox or contentbox of a Talis Platform
91
+ store
92
+ </p>
93
+
94
+ </div>
83
95
 
84
96
 
85
97
  </div>
@@ -96,8 +108,12 @@
96
108
  <h3 class="section-bar">Classes and Modules</h3>
97
109
 
98
110
  Class <a href="FileManagement/AbstractFileManager.html" class="link">Pho::FileManagement::AbstractFileManager</a><br />
111
+ Class <a href="FileManagement/BNodeRewritingHandler.html" class="link">Pho::FileManagement::BNodeRewritingHandler</a><br />
99
112
  Class <a href="FileManagement/FileManager.html" class="link">Pho::FileManagement::FileManager</a><br />
113
+ Class <a href="FileManagement/FileSplitter.html" class="link">Pho::FileManagement::FileSplitter</a><br />
100
114
  Class <a href="FileManagement/RDFManager.html" class="link">Pho::FileManagement::RDFManager</a><br />
115
+ Class <a href="FileManagement/StatementHandler.html" class="link">Pho::FileManagement::StatementHandler</a><br />
116
+ Class <a href="FileManagement/Util.html" class="link">Pho::FileManagement::Util</a><br />
101
117
 
102
118
  </div>
103
119
 
@@ -78,6 +78,41 @@
78
78
 
79
79
  <div id="contextContent">
80
80
 
81
+ <div id="description">
82
+ <p>
83
+ Base class for the management of collections of files
84
+ </p>
85
+ <p>
86
+ A collection is considered to be a directory (and sub-directory) of files.
87
+ Depending on the type of collection manager used (e.g. +<a
88
+ href="FileManager.html">Pho::FileManagement::FileManager</a>+ or +<a
89
+ href="RDFManager.html">Pho::FileManagement::RDFManager</a>+) these may be
90
+ collections of any kind of file, or just RDF serialisations.
91
+ </p>
92
+ <p>
93
+ The basic mechanism has support for:
94
+ </p>
95
+ <pre>
96
+ * tracking whether a file has been successfully loaded into a store (or not)
97
+ * identifying all new files, just those that have been successfully stored, or failed
98
+ * identifying files that have been changed locally since last stored
99
+ * storage of any of these classes of files either by uploading into the contentbox or
100
+ storing in the metabox
101
+ * resumable uploads
102
+ * retrying uploads
103
+ * traversal across a directory structure to manage a complete set of files
104
+ </pre>
105
+ <p>
106
+ Files are tracked locally by keeping some hidden files in the same
107
+ directory system as the files being tracked. These are currently all
108
+ managed in a hidden directory (&quot;.pho&quot;) that is automatically
109
+ created. To access error messages from uploads look for the corresponding
110
+ &quot;fail file&quot; for the relevant file. E.g. /foo/file.txt will be
111
+ tracked in /foo/.pho, and will have either an OK file
112
+ (/foo/.pho/file.txt.ok) or a fail file (/foo/.pho/file.txt.fail).
113
+ </p>
114
+
115
+ </div>
81
116
 
82
117
 
83
118
  </div>
@@ -86,21 +121,22 @@
86
121
  <h3 class="section-bar">Methods</h3>
87
122
 
88
123
  <div class="name-list">
89
- <a href="#M000016">changed?</a>&nbsp;&nbsp;
90
- <a href="#M000018">changed_files</a>&nbsp;&nbsp;
91
- <a href="#M000020">failures</a>&nbsp;&nbsp;
92
- <a href="#M000023">get_fail_file_for</a>&nbsp;&nbsp;
93
- <a href="#M000024">get_ok_file_for</a>&nbsp;&nbsp;
94
- <a href="#M000010">new</a>&nbsp;&nbsp;
95
- <a href="#M000019">new_files</a>&nbsp;&nbsp;
96
- <a href="#M000014">reset</a>&nbsp;&nbsp;
97
- <a href="#M000012">retry_failures</a>&nbsp;&nbsp;
98
- <a href="#M000011">store</a>&nbsp;&nbsp;
99
- <a href="#M000013">store_changes</a>&nbsp;&nbsp;
100
- <a href="#M000015">stored?</a>&nbsp;&nbsp;
101
- <a href="#M000017">stored_files</a>&nbsp;&nbsp;
102
- <a href="#M000021">successes</a>&nbsp;&nbsp;
103
- <a href="#M000022">summary</a>&nbsp;&nbsp;
124
+ <a href="#M000019">changed?</a>&nbsp;&nbsp;
125
+ <a href="#M000021">changed_files</a>&nbsp;&nbsp;
126
+ <a href="#M000028">create_tracking_dir</a>&nbsp;&nbsp;
127
+ <a href="#M000023">failures</a>&nbsp;&nbsp;
128
+ <a href="#M000026">get_fail_file_for</a>&nbsp;&nbsp;
129
+ <a href="#M000027">get_ok_file_for</a>&nbsp;&nbsp;
130
+ <a href="#M000013">new</a>&nbsp;&nbsp;
131
+ <a href="#M000022">new_files</a>&nbsp;&nbsp;
132
+ <a href="#M000017">reset</a>&nbsp;&nbsp;
133
+ <a href="#M000015">retry_failures</a>&nbsp;&nbsp;
134
+ <a href="#M000014">store</a>&nbsp;&nbsp;
135
+ <a href="#M000016">store_changes</a>&nbsp;&nbsp;
136
+ <a href="#M000018">stored?</a>&nbsp;&nbsp;
137
+ <a href="#M000020">stored_files</a>&nbsp;&nbsp;
138
+ <a href="#M000024">successes</a>&nbsp;&nbsp;
139
+ <a href="#M000025">summary</a>&nbsp;&nbsp;
104
140
  </div>
105
141
  </div>
106
142
 
@@ -163,21 +199,21 @@
163
199
  <div id="methods">
164
200
  <h3 class="section-bar">Public Class methods</h3>
165
201
 
166
- <div id="method-M000010" class="method-detail">
167
- <a name="M000010"></a>
202
+ <div id="method-M000013" class="method-detail">
203
+ <a name="M000013"></a>
168
204
 
169
205
  <div class="method-heading">
170
- <a href="#M000010" class="method-signature">
206
+ <a href="#M000013" class="method-signature">
171
207
  <span class="method-name">new</span><span class="method-args">(store, dir, ok_suffix=OK, fail_suffix=FAIL)</span>
172
208
  </a>
173
209
  </div>
174
210
 
175
211
  <div class="method-description">
176
212
  <p><a class="source-toggle" href="#"
177
- onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
178
- <div class="method-source-code" id="M000010-source">
213
+ onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
214
+ <div class="method-source-code" id="M000013-source">
179
215
  <pre>
180
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 14</span>
216
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 38</span>
181
217
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">store</span>, <span class="ruby-identifier">dir</span>, <span class="ruby-identifier">ok_suffix</span>=<span class="ruby-constant">OK</span>, <span class="ruby-identifier">fail_suffix</span>=<span class="ruby-constant">FAIL</span>)
182
218
  <span class="ruby-ivar">@store</span> = <span class="ruby-identifier">store</span>
183
219
  <span class="ruby-ivar">@dir</span> = <span class="ruby-identifier">dir</span>
@@ -191,11 +227,11 @@
191
227
 
192
228
  <h3 class="section-bar">Public Instance methods</h3>
193
229
 
194
- <div id="method-M000016" class="method-detail">
195
- <a name="M000016"></a>
230
+ <div id="method-M000019" class="method-detail">
231
+ <a name="M000019"></a>
196
232
 
197
233
  <div class="method-heading">
198
- <a href="#M000016" class="method-signature">
234
+ <a href="#M000019" class="method-signature">
199
235
  <span class="method-name">changed?</span><span class="method-args">(file)</span>
200
236
  </a>
201
237
  </div>
@@ -207,10 +243,10 @@ Allows files that have been updated in a collection to be easily identified
207
243
  New files (i.e untracked) are always considered to be changed
208
244
  </p>
209
245
  <p><a class="source-toggle" href="#"
210
- onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
211
- <div class="method-source-code" id="M000016-source">
246
+ onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
247
+ <div class="method-source-code" id="M000019-source">
212
248
  <pre>
213
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 82</span>
249
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 106</span>
214
250
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">changed?</span>(<span class="ruby-identifier">file</span>)
215
251
  <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">stored?</span>(<span class="ruby-identifier">file</span>)
216
252
  <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
@@ -231,21 +267,21 @@ New files (i.e untracked) are always considered to be changed
231
267
  </div>
232
268
  </div>
233
269
 
234
- <div id="method-M000018" class="method-detail">
235
- <a name="M000018"></a>
270
+ <div id="method-M000021" class="method-detail">
271
+ <a name="M000021"></a>
236
272
 
237
273
  <div class="method-heading">
238
- <a href="#M000018" class="method-signature">
274
+ <a href="#M000021" class="method-signature">
239
275
  <span class="method-name">changed_files</span><span class="method-args">(recursive=false)</span>
240
276
  </a>
241
277
  </div>
242
278
 
243
279
  <div class="method-description">
244
280
  <p><a class="source-toggle" href="#"
245
- onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
246
- <div class="method-source-code" id="M000018-source">
281
+ onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
282
+ <div class="method-source-code" id="M000021-source">
247
283
  <pre>
248
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 106</span>
284
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 130</span>
249
285
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">changed_files</span>(<span class="ruby-identifier">recursive</span>=<span class="ruby-keyword kw">false</span>)
250
286
  <span class="ruby-identifier">changed</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
251
287
  <span class="ruby-identifier">list</span>(<span class="ruby-identifier">recursive</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
@@ -258,24 +294,48 @@ New files (i.e untracked) are always considered to be changed
258
294
  </div>
259
295
  </div>
260
296
 
261
- <div id="method-M000020" class="method-detail">
262
- <a name="M000020"></a>
297
+ <div id="method-M000028" class="method-detail">
298
+ <a name="M000028"></a>
263
299
 
264
300
  <div class="method-heading">
265
- <a href="#M000020" class="method-signature">
301
+ <a href="#M000028" class="method-signature">
302
+ <span class="method-name">create_tracking_dir</span><span class="method-args">(filename)</span>
303
+ </a>
304
+ </div>
305
+
306
+ <div class="method-description">
307
+ <p><a class="source-toggle" href="#"
308
+ onclick="toggleCode('M000028-source');return false;">[Source]</a></p>
309
+ <div class="method-source-code" id="M000028-source">
310
+ <pre>
311
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 190</span>
312
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_tracking_dir</span>(<span class="ruby-identifier">filename</span>)
313
+ <span class="ruby-identifier">path</span> = <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;/&quot;</span>)[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">-2</span>].<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;/&quot;</span>)
314
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">mkdir</span>(<span class="ruby-node">&quot;#{path}/#{TRACKING_DIR}&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-node">&quot;#{path}/#{TRACKING_DIR}&quot;</span>)
315
+ <span class="ruby-keyword kw">end</span>
316
+ </pre>
317
+ </div>
318
+ </div>
319
+ </div>
320
+
321
+ <div id="method-M000023" class="method-detail">
322
+ <a name="M000023"></a>
323
+
324
+ <div class="method-heading">
325
+ <a href="#M000023" class="method-signature">
266
326
  <span class="method-name">failures</span><span class="method-args">(recursive=false)</span>
267
327
  </a>
268
328
  </div>
269
329
 
270
330
  <div class="method-description">
271
331
  <p>
272
- List <a href="AbstractFileManager.html#M000020">failures</a>
332
+ List <a href="AbstractFileManager.html#M000023">failures</a>
273
333
  </p>
274
334
  <p><a class="source-toggle" href="#"
275
- onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
276
- <div class="method-source-code" id="M000020-source">
335
+ onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
336
+ <div class="method-source-code" id="M000023-source">
277
337
  <pre>
278
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 124</span>
338
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 148</span>
279
339
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">failures</span>(<span class="ruby-identifier">recursive</span>=<span class="ruby-keyword kw">false</span>)
280
340
  <span class="ruby-identifier">fails</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
281
341
  <span class="ruby-identifier">list</span>(<span class="ruby-identifier">recursive</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
@@ -288,21 +348,21 @@ List <a href="AbstractFileManager.html#M000020">failures</a>
288
348
  </div>
289
349
  </div>
290
350
 
291
- <div id="method-M000023" class="method-detail">
292
- <a name="M000023"></a>
351
+ <div id="method-M000026" class="method-detail">
352
+ <a name="M000026"></a>
293
353
 
294
354
  <div class="method-heading">
295
- <a href="#M000023" class="method-signature">
355
+ <a href="#M000026" class="method-signature">
296
356
  <span class="method-name">get_fail_file_for</span><span class="method-args">(filename)</span>
297
357
  </a>
298
358
  </div>
299
359
 
300
360
  <div class="method-description">
301
361
  <p><a class="source-toggle" href="#"
302
- onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
303
- <div class="method-source-code" id="M000023-source">
362
+ onclick="toggleCode('M000026-source');return false;">[Source]</a></p>
363
+ <div class="method-source-code" id="M000026-source">
304
364
  <pre>
305
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 152</span>
365
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 176</span>
306
366
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_fail_file_for</span>(<span class="ruby-identifier">filename</span>)
307
367
  <span class="ruby-identifier">relative_path</span> = <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-ivar">@dir</span>, <span class="ruby-value str">&quot;&quot;</span>)
308
368
  <span class="ruby-identifier">base</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">filename</span>)
@@ -314,21 +374,21 @@ List <a href="AbstractFileManager.html#M000020">failures</a>
314
374
  </div>
315
375
  </div>
316
376
 
317
- <div id="method-M000024" class="method-detail">
318
- <a name="M000024"></a>
377
+ <div id="method-M000027" class="method-detail">
378
+ <a name="M000027"></a>
319
379
 
320
380
  <div class="method-heading">
321
- <a href="#M000024" class="method-signature">
381
+ <a href="#M000027" class="method-signature">
322
382
  <span class="method-name">get_ok_file_for</span><span class="method-args">(filename)</span>
323
383
  </a>
324
384
  </div>
325
385
 
326
386
  <div class="method-description">
327
387
  <p><a class="source-toggle" href="#"
328
- onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
329
- <div class="method-source-code" id="M000024-source">
388
+ onclick="toggleCode('M000027-source');return false;">[Source]</a></p>
389
+ <div class="method-source-code" id="M000027-source">
330
390
  <pre>
331
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 159</span>
391
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 183</span>
332
392
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_ok_file_for</span>(<span class="ruby-identifier">filename</span>)
333
393
  <span class="ruby-identifier">relative_path</span> = <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-ivar">@dir</span>, <span class="ruby-value str">&quot;&quot;</span>)
334
394
  <span class="ruby-identifier">base</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">filename</span>)
@@ -340,25 +400,25 @@ List <a href="AbstractFileManager.html#M000020">failures</a>
340
400
  </div>
341
401
  </div>
342
402
 
343
- <div id="method-M000019" class="method-detail">
344
- <a name="M000019"></a>
403
+ <div id="method-M000022" class="method-detail">
404
+ <a name="M000022"></a>
345
405
 
346
406
  <div class="method-heading">
347
- <a href="#M000019" class="method-signature">
407
+ <a href="#M000022" class="method-signature">
348
408
  <span class="method-name">new_files</span><span class="method-args">(recursive=false)</span>
349
409
  </a>
350
410
  </div>
351
411
 
352
412
  <div class="method-description">
353
413
  <p>
354
- List any <a href="AbstractFileManager.html#M000010">new</a> files in the
414
+ List any <a href="AbstractFileManager.html#M000013">new</a> files in the
355
415
  directory
356
416
  </p>
357
417
  <p><a class="source-toggle" href="#"
358
- onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
359
- <div class="method-source-code" id="M000019-source">
418
+ onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
419
+ <div class="method-source-code" id="M000022-source">
360
420
  <pre>
361
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 115</span>
421
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 139</span>
362
422
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new_files</span>(<span class="ruby-identifier">recursive</span>=<span class="ruby-keyword kw">false</span>)
363
423
  <span class="ruby-identifier">newfiles</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
364
424
  <span class="ruby-identifier">list</span>(<span class="ruby-identifier">recursive</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
@@ -371,11 +431,11 @@ directory
371
431
  </div>
372
432
  </div>
373
433
 
374
- <div id="method-M000014" class="method-detail">
375
- <a name="M000014"></a>
434
+ <div id="method-M000017" class="method-detail">
435
+ <a name="M000017"></a>
376
436
 
377
437
  <div class="method-heading">
378
- <a href="#M000014" class="method-signature">
438
+ <a href="#M000017" class="method-signature">
379
439
  <span class="method-name">reset</span><span class="method-args">(recursive=false)</span>
380
440
  </a>
381
441
  </div>
@@ -385,10 +445,10 @@ directory
385
445
  Reset the directory to clear out any previous statuses
386
446
  </p>
387
447
  <p><a class="source-toggle" href="#"
388
- onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
389
- <div class="method-source-code" id="M000014-source">
448
+ onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
449
+ <div class="method-source-code" id="M000017-source">
390
450
  <pre>
391
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 55</span>
451
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 79</span>
392
452
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>(<span class="ruby-identifier">recursive</span>=<span class="ruby-keyword kw">false</span>)
393
453
  <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">recursive</span>
394
454
  <span class="ruby-identifier">pattern</span> = <span class="ruby-node">&quot;**/#{TRACKING_DIR}/*&quot;</span>
@@ -407,11 +467,11 @@ Reset the directory to clear out any previous statuses
407
467
  </div>
408
468
  </div>
409
469
 
410
- <div id="method-M000012" class="method-detail">
411
- <a name="M000012"></a>
470
+ <div id="method-M000015" class="method-detail">
471
+ <a name="M000015"></a>
412
472
 
413
473
  <div class="method-heading">
414
- <a href="#M000012" class="method-signature">
474
+ <a href="#M000015" class="method-signature">
415
475
  <span class="method-name">retry_failures</span><span class="method-args">(recursive=false)</span>
416
476
  </a>
417
477
  </div>
@@ -421,10 +481,10 @@ Reset the directory to clear out any previous statuses
421
481
  Retry anything known to have failed
422
482
  </p>
423
483
  <p><a class="source-toggle" href="#"
424
- onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
425
- <div class="method-source-code" id="M000012-source">
484
+ onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
485
+ <div class="method-source-code" id="M000015-source">
426
486
  <pre>
427
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 31</span>
487
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 55</span>
428
488
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">retry_failures</span>(<span class="ruby-identifier">recursive</span>=<span class="ruby-keyword kw">false</span>)
429
489
  <span class="ruby-identifier">retries</span> = <span class="ruby-identifier">failures</span>(<span class="ruby-identifier">recursive</span>)
430
490
  <span class="ruby-identifier">retries</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">filename</span><span class="ruby-operator">|</span>
@@ -439,11 +499,11 @@ Retry anything known to have failed
439
499
  </div>
440
500
  </div>
441
501
 
442
- <div id="method-M000011" class="method-detail">
443
- <a name="M000011"></a>
502
+ <div id="method-M000014" class="method-detail">
503
+ <a name="M000014"></a>
444
504
 
445
505
  <div class="method-heading">
446
- <a href="#M000011" class="method-signature">
506
+ <a href="#M000014" class="method-signature">
447
507
  <span class="method-name">store</span><span class="method-args">(recursive=false)</span>
448
508
  </a>
449
509
  </div>
@@ -454,10 +514,10 @@ Retry anything known to have failed
454
514
  directory
455
515
  </p>
456
516
  <p><a class="source-toggle" href="#"
457
- onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
458
- <div class="method-source-code" id="M000011-source">
517
+ onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
518
+ <div class="method-source-code" id="M000014-source">
459
519
  <pre>
460
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 22</span>
520
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 46</span>
461
521
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store</span>(<span class="ruby-identifier">recursive</span>=<span class="ruby-keyword kw">false</span>)
462
522
  <span class="ruby-identifier">files_to_store</span> = <span class="ruby-identifier">new_files</span>(<span class="ruby-identifier">recursive</span>)
463
523
  <span class="ruby-identifier">files_to_store</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">filename</span><span class="ruby-operator">|</span>
@@ -470,21 +530,21 @@ directory
470
530
  </div>
471
531
  </div>
472
532
 
473
- <div id="method-M000013" class="method-detail">
474
- <a name="M000013"></a>
533
+ <div id="method-M000016" class="method-detail">
534
+ <a name="M000016"></a>
475
535
 
476
536
  <div class="method-heading">
477
- <a href="#M000013" class="method-signature">
537
+ <a href="#M000016" class="method-signature">
478
538
  <span class="method-name">store_changes</span><span class="method-args">(recursive=false)</span>
479
539
  </a>
480
540
  </div>
481
541
 
482
542
  <div class="method-description">
483
543
  <p><a class="source-toggle" href="#"
484
- onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
485
- <div class="method-source-code" id="M000013-source">
544
+ onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
545
+ <div class="method-source-code" id="M000016-source">
486
546
  <pre>
487
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 41</span>
547
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 65</span>
488
548
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">store_changes</span>(<span class="ruby-identifier">recursive</span>=<span class="ruby-keyword kw">false</span>)
489
549
  <span class="ruby-identifier">changes</span> = <span class="ruby-identifier">changed_files</span>(<span class="ruby-identifier">recursive</span>)
490
550
  <span class="ruby-identifier">changes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">filename</span><span class="ruby-operator">|</span>
@@ -502,11 +562,11 @@ directory
502
562
  </div>
503
563
  </div>
504
564
 
505
- <div id="method-M000015" class="method-detail">
506
- <a name="M000015"></a>
565
+ <div id="method-M000018" class="method-detail">
566
+ <a name="M000018"></a>
507
567
 
508
568
  <div class="method-heading">
509
- <a href="#M000015" class="method-signature">
569
+ <a href="#M000018" class="method-signature">
510
570
  <span class="method-name">stored?</span><span class="method-args">(file)</span>
511
571
  </a>
512
572
  </div>
@@ -516,10 +576,10 @@ directory
516
576
  returns true if there is a fail or ok file, false otherwise
517
577
  </p>
518
578
  <p><a class="source-toggle" href="#"
519
- onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
520
- <div class="method-source-code" id="M000015-source">
579
+ onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
580
+ <div class="method-source-code" id="M000018-source">
521
581
  <pre>
522
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 70</span>
582
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 94</span>
523
583
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stored?</span>(<span class="ruby-identifier">file</span>)
524
584
  <span class="ruby-identifier">ok_file</span> = <span class="ruby-identifier">get_ok_file_for</span>(<span class="ruby-identifier">file</span>)
525
585
  <span class="ruby-identifier">fail_file</span> = <span class="ruby-identifier">get_fail_file_for</span>(<span class="ruby-identifier">file</span>)
@@ -533,21 +593,21 @@ returns true if there is a fail or ok file, false otherwise
533
593
  </div>
534
594
  </div>
535
595
 
536
- <div id="method-M000017" class="method-detail">
537
- <a name="M000017"></a>
596
+ <div id="method-M000020" class="method-detail">
597
+ <a name="M000020"></a>
538
598
 
539
599
  <div class="method-heading">
540
- <a href="#M000017" class="method-signature">
600
+ <a href="#M000020" class="method-signature">
541
601
  <span class="method-name">stored_files</span><span class="method-args">(recursive=false)</span>
542
602
  </a>
543
603
  </div>
544
604
 
545
605
  <div class="method-description">
546
606
  <p><a class="source-toggle" href="#"
547
- onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
548
- <div class="method-source-code" id="M000017-source">
607
+ onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
608
+ <div class="method-source-code" id="M000020-source">
549
609
  <pre>
550
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 98</span>
610
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 122</span>
551
611
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stored_files</span>(<span class="ruby-identifier">recursive</span>=<span class="ruby-keyword kw">false</span>)
552
612
  <span class="ruby-identifier">stored</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
553
613
  <span class="ruby-identifier">list</span>(<span class="ruby-identifier">recursive</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
@@ -560,24 +620,24 @@ returns true if there is a fail or ok file, false otherwise
560
620
  </div>
561
621
  </div>
562
622
 
563
- <div id="method-M000021" class="method-detail">
564
- <a name="M000021"></a>
623
+ <div id="method-M000024" class="method-detail">
624
+ <a name="M000024"></a>
565
625
 
566
626
  <div class="method-heading">
567
- <a href="#M000021" class="method-signature">
627
+ <a href="#M000024" class="method-signature">
568
628
  <span class="method-name">successes</span><span class="method-args">(recursive=false)</span>
569
629
  </a>
570
630
  </div>
571
631
 
572
632
  <div class="method-description">
573
633
  <p>
574
- List <a href="AbstractFileManager.html#M000021">successes</a>
634
+ List <a href="AbstractFileManager.html#M000024">successes</a>
575
635
  </p>
576
636
  <p><a class="source-toggle" href="#"
577
- onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
578
- <div class="method-source-code" id="M000021-source">
637
+ onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
638
+ <div class="method-source-code" id="M000024-source">
579
639
  <pre>
580
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 133</span>
640
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 157</span>
581
641
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">successes</span>(<span class="ruby-identifier">recursive</span>=<span class="ruby-keyword kw">false</span>)
582
642
  <span class="ruby-identifier">successes</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
583
643
  <span class="ruby-identifier">list</span>(<span class="ruby-identifier">recursive</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
@@ -590,11 +650,11 @@ List <a href="AbstractFileManager.html#M000021">successes</a>
590
650
  </div>
591
651
  </div>
592
652
 
593
- <div id="method-M000022" class="method-detail">
594
- <a name="M000022"></a>
653
+ <div id="method-M000025" class="method-detail">
654
+ <a name="M000025"></a>
595
655
 
596
656
  <div class="method-heading">
597
- <a href="#M000022" class="method-signature">
657
+ <a href="#M000025" class="method-signature">
598
658
  <span class="method-name">summary</span><span class="method-args">(recursive=false)</span>
599
659
  </a>
600
660
  </div>
@@ -605,10 +665,10 @@ Summarize the state of the collection to the provided IO object Creates a
605
665
  simple report
606
666
  </p>
607
667
  <p><a class="source-toggle" href="#"
608
- onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
609
- <div class="method-source-code" id="M000022-source">
668
+ onclick="toggleCode('M000025-source');return false;">[Source]</a></p>
669
+ <div class="method-source-code" id="M000025-source">
610
670
  <pre>
611
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 143</span>
671
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 167</span>
612
672
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">summary</span>(<span class="ruby-identifier">recursive</span>=<span class="ruby-keyword kw">false</span>)
613
673
  <span class="ruby-identifier">failures</span> = <span class="ruby-identifier">failures</span>(<span class="ruby-identifier">recursive</span>)
614
674
  <span class="ruby-identifier">successes</span> = <span class="ruby-identifier">successes</span>(<span class="ruby-identifier">recursive</span>)