pho 0.7.7 → 0.7.8

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 (51) hide show
  1. data/CHANGES +21 -0
  2. data/README +1 -2
  3. data/Rakefile +1 -1
  4. data/bin/talis_store +13 -22
  5. data/doc/rdoc/classes/Pho/CommandLine.html +162 -124
  6. data/doc/rdoc/classes/Pho/DatatypeProperty.html +12 -12
  7. data/doc/rdoc/classes/Pho/Enrichment/StoreEnricher.html +29 -29
  8. data/doc/rdoc/classes/Pho/Etags.html +36 -36
  9. data/doc/rdoc/classes/Pho/Facet/Results.html +19 -19
  10. data/doc/rdoc/classes/Pho/Facet/Term.html +6 -6
  11. data/doc/rdoc/classes/Pho/FieldPredicateMap.html +102 -102
  12. data/doc/rdoc/classes/Pho/FieldWeighting.html +12 -12
  13. data/doc/rdoc/classes/Pho/FileManagement/AbstractFileManager.html +262 -103
  14. data/doc/rdoc/classes/Pho/FileManagement/FileManager.html +34 -14
  15. data/doc/rdoc/classes/Pho/FileManagement/RDFManager.html +10 -5
  16. data/doc/rdoc/classes/Pho/Job.html +64 -64
  17. data/doc/rdoc/classes/Pho/Jobs.html +60 -60
  18. data/doc/rdoc/classes/Pho/OAI/Record.html +6 -6
  19. data/doc/rdoc/classes/Pho/OAI/Records.html +24 -24
  20. data/doc/rdoc/classes/Pho/OAI/Statistics.html +12 -12
  21. data/doc/rdoc/classes/Pho/QueryProfile.html +66 -66
  22. data/doc/rdoc/classes/Pho/ResourceHash/Converter.html +36 -36
  23. data/doc/rdoc/classes/Pho/ResourceHash/SetAlgebra.html +12 -12
  24. data/doc/rdoc/classes/Pho/Snapshot.html +35 -35
  25. data/doc/rdoc/classes/Pho/Sparql/SparqlClient.html +74 -74
  26. data/doc/rdoc/classes/Pho/Sparql/SparqlHelper.html +78 -78
  27. data/doc/rdoc/classes/Pho/Status.html +26 -26
  28. data/doc/rdoc/classes/Pho/Store.html +215 -215
  29. data/doc/rdoc/classes/Pho/StoreSparqlClient.html +12 -12
  30. data/doc/rdoc/classes/Pho/Update/Changeset.html +63 -63
  31. data/doc/rdoc/classes/Pho/Update/ChangesetBuilder.html +24 -24
  32. data/doc/rdoc/classes/Pho/Update/ChangesetHelper.html +6 -6
  33. data/doc/rdoc/classes/Pho/Update/Changesets.html +12 -12
  34. data/doc/rdoc/classes/Pho/Update/LiteralStatement.html +18 -18
  35. data/doc/rdoc/classes/Pho/Update/ResourceStatement.html +24 -24
  36. data/doc/rdoc/classes/Pho/Update/Statement.html +24 -24
  37. data/doc/rdoc/created.rid +1 -1
  38. data/doc/rdoc/files/CHANGES.html +34 -1
  39. data/doc/rdoc/files/README.html +3 -4
  40. data/doc/rdoc/files/lib/pho/command_line_rb.html +1 -1
  41. data/doc/rdoc/files/lib/pho/file_management_rb.html +1 -1
  42. data/doc/rdoc/files/lib/pho/file_manager_rb.html +1 -1
  43. data/doc/rdoc/files/lib/pho/rdf_collection_rb.html +1 -1
  44. data/doc/rdoc/fr_method_index.html +212 -205
  45. data/lib/pho/command_line.rb +29 -11
  46. data/lib/pho/file_management.rb +85 -29
  47. data/lib/pho/file_manager.rb +10 -11
  48. data/lib/pho/rdf_collection.rb +8 -3
  49. data/tests/tc_file_manager.rb +144 -26
  50. data/tests/tc_rdf_collection.rb +76 -68
  51. metadata +4 -4
@@ -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="#M000195">new</a>&nbsp;&nbsp;
97
- <a href="#M000196">to_rdf</a>&nbsp;&nbsp;
96
+ <a href="#M000202">new</a>&nbsp;&nbsp;
97
+ <a href="#M000203">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-M000195" class="method-detail">
152
- <a name="M000195"></a>
151
+ <div id="method-M000202" class="method-detail">
152
+ <a name="M000202"></a>
153
153
 
154
154
  <div class="method-heading">
155
- <a href="#M000195" class="method-signature">
155
+ <a href="#M000202" 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('M000195-source');return false;">[Source]</a></p>
163
- <div class="method-source-code" id="M000195-source">
162
+ onclick="toggleCode('M000202-source');return false;">[Source]</a></p>
163
+ <div class="method-source-code" id="M000202-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-M000196" class="method-detail">
179
- <a name="M000196"></a>
178
+ <div id="method-M000203" class="method-detail">
179
+ <a name="M000203"></a>
180
180
 
181
181
  <div class="method-heading">
182
- <a href="#M000196" class="method-signature">
182
+ <a href="#M000203" 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('M000196-source');return false;">[Source]</a></p>
199
- <div class="method-source-code" id="M000196-source">
198
+ onclick="toggleCode('M000203-source');return false;">[Source]</a></p>
199
+ <div class="method-source-code" id="M000203-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>)
@@ -78,12 +78,6 @@
78
78
 
79
79
  <div id="contextContent">
80
80
 
81
- <div id="description">
82
- <p>
83
- TODO: move files into hidden directory
84
- </p>
85
-
86
- </div>
87
81
 
88
82
 
89
83
  </div>
@@ -92,16 +86,21 @@ TODO: move files into hidden directory
92
86
  <h3 class="section-bar">Methods</h3>
93
87
 
94
88
  <div class="name-list">
95
- <a href="#M000014">failures</a>&nbsp;&nbsp;
96
- <a href="#M000017">get_fail_file_for</a>&nbsp;&nbsp;
97
- <a href="#M000018">get_ok_file_for</a>&nbsp;&nbsp;
98
- <a href="#M000009">new</a>&nbsp;&nbsp;
99
- <a href="#M000013">new_files</a>&nbsp;&nbsp;
100
- <a href="#M000012">reset</a>&nbsp;&nbsp;
101
- <a href="#M000011">retry_failures</a>&nbsp;&nbsp;
102
- <a href="#M000010">store</a>&nbsp;&nbsp;
103
- <a href="#M000015">successes</a>&nbsp;&nbsp;
104
- <a href="#M000016">summary</a>&nbsp;&nbsp;
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;
105
104
  </div>
106
105
  </div>
107
106
 
@@ -121,12 +120,17 @@ TODO: move files into hidden directory
121
120
  <tr class="top-aligned-row context-row">
122
121
  <td class="context-item-name">OK</td>
123
122
  <td>=</td>
124
- <td class="context-item-value">&quot;ok&quot;.freeze</td>
123
+ <td class="context-item-value">&quot;ok&quot;</td>
125
124
  </tr>
126
125
  <tr class="top-aligned-row context-row">
127
126
  <td class="context-item-name">FAIL</td>
128
127
  <td>=</td>
129
- <td class="context-item-value">&quot;fail&quot;.freeze</td>
128
+ <td class="context-item-value">&quot;fail&quot;</td>
129
+ </tr>
130
+ <tr class="top-aligned-row context-row">
131
+ <td class="context-item-name">TRACKING_DIR</td>
132
+ <td>=</td>
133
+ <td class="context-item-value">&quot;.pho&quot;</td>
130
134
  </tr>
131
135
  </table>
132
136
  </div>
@@ -159,25 +163,24 @@ TODO: move files into hidden directory
159
163
  <div id="methods">
160
164
  <h3 class="section-bar">Public Class methods</h3>
161
165
 
162
- <div id="method-M000009" class="method-detail">
163
- <a name="M000009"></a>
166
+ <div id="method-M000010" class="method-detail">
167
+ <a name="M000010"></a>
164
168
 
165
169
  <div class="method-heading">
166
- <a href="#M000009" class="method-signature">
167
- <span class="method-name">new</span><span class="method-args">(store, dir, ok_suffix=OK, fail_suffix=FAIL, sleep=1)</span>
170
+ <a href="#M000010" class="method-signature">
171
+ <span class="method-name">new</span><span class="method-args">(store, dir, ok_suffix=OK, fail_suffix=FAIL)</span>
168
172
  </a>
169
173
  </div>
170
174
 
171
175
  <div class="method-description">
172
176
  <p><a class="source-toggle" href="#"
173
- onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
174
- <div class="method-source-code" id="M000009-source">
177
+ onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
178
+ <div class="method-source-code" id="M000010-source">
175
179
  <pre>
176
180
  <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 14</span>
177
- <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>, <span class="ruby-identifier">sleep</span>=<span class="ruby-value">1</span>)
181
+ <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>)
178
182
  <span class="ruby-ivar">@store</span> = <span class="ruby-identifier">store</span>
179
183
  <span class="ruby-ivar">@dir</span> = <span class="ruby-identifier">dir</span>
180
- <span class="ruby-ivar">@sleep</span> = <span class="ruby-identifier">sleep</span>
181
184
  <span class="ruby-ivar">@ok_suffix</span> = <span class="ruby-identifier">ok_suffix</span>
182
185
  <span class="ruby-ivar">@fail_suffix</span> = <span class="ruby-identifier">fail_suffix</span>
183
186
  <span class="ruby-keyword kw">end</span>
@@ -188,30 +191,95 @@ TODO: move files into hidden directory
188
191
 
189
192
  <h3 class="section-bar">Public Instance methods</h3>
190
193
 
191
- <div id="method-M000014" class="method-detail">
192
- <a name="M000014"></a>
194
+ <div id="method-M000016" class="method-detail">
195
+ <a name="M000016"></a>
193
196
 
194
197
  <div class="method-heading">
195
- <a href="#M000014" class="method-signature">
198
+ <a href="#M000016" class="method-signature">
199
+ <span class="method-name">changed?</span><span class="method-args">(file)</span>
200
+ </a>
201
+ </div>
202
+
203
+ <div class="method-description">
204
+ <p>
205
+ Has this file changed (i.e have a newer mtime) than its tracking file
206
+ Allows files that have been updated in a collection to be easily identified
207
+ New files (i.e untracked) are always considered to be changed
208
+ </p>
209
+ <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">
212
+ <pre>
213
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 82</span>
214
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">changed?</span>(<span class="ruby-identifier">file</span>)
215
+ <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
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
217
+ <span class="ruby-keyword kw">end</span>
218
+ <span class="ruby-identifier">ok_file</span> = <span class="ruby-identifier">get_ok_file_for</span>(<span class="ruby-identifier">file</span>)
219
+ <span class="ruby-identifier">fail_file</span> = <span class="ruby-identifier">get_fail_file_for</span>(<span class="ruby-identifier">file</span>)
220
+ <span class="ruby-identifier">f</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file</span>)
221
+ <span class="ruby-keyword kw">if</span> (
222
+ ( <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">ok_file</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">stat</span>.<span class="ruby-identifier">mtime</span> <span class="ruby-operator">&gt;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">ok_file</span>).<span class="ruby-identifier">stat</span>.<span class="ruby-identifier">mtime</span> ) <span class="ruby-keyword kw">or</span>
223
+ ( <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">fail_file</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">stat</span>.<span class="ruby-identifier">mtime</span> <span class="ruby-operator">&gt;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">fail_file</span>).<span class="ruby-identifier">stat</span>.<span class="ruby-identifier">mtime</span> )
224
+ )
225
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
226
+ <span class="ruby-keyword kw">end</span>
227
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
228
+ <span class="ruby-keyword kw">end</span>
229
+ </pre>
230
+ </div>
231
+ </div>
232
+ </div>
233
+
234
+ <div id="method-M000018" class="method-detail">
235
+ <a name="M000018"></a>
236
+
237
+ <div class="method-heading">
238
+ <a href="#M000018" class="method-signature">
239
+ <span class="method-name">changed_files</span><span class="method-args">(recursive=false)</span>
240
+ </a>
241
+ </div>
242
+
243
+ <div class="method-description">
244
+ <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">
247
+ <pre>
248
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 106</span>
249
+ <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
+ <span class="ruby-identifier">changed</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
251
+ <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>
252
+ <span class="ruby-identifier">changed</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">file</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">changed?</span>(<span class="ruby-identifier">file</span>)
253
+ <span class="ruby-keyword kw">end</span>
254
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">changed</span>
255
+ <span class="ruby-keyword kw">end</span>
256
+ </pre>
257
+ </div>
258
+ </div>
259
+ </div>
260
+
261
+ <div id="method-M000020" class="method-detail">
262
+ <a name="M000020"></a>
263
+
264
+ <div class="method-heading">
265
+ <a href="#M000020" class="method-signature">
196
266
  <span class="method-name">failures</span><span class="method-args">(recursive=false)</span>
197
267
  </a>
198
268
  </div>
199
269
 
200
270
  <div class="method-description">
201
271
  <p>
202
- List <a href="AbstractFileManager.html#M000014">failures</a>
272
+ List <a href="AbstractFileManager.html#M000020">failures</a>
203
273
  </p>
204
274
  <p><a class="source-toggle" href="#"
205
- onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
206
- <div class="method-source-code" id="M000014-source">
275
+ onclick="toggleCode('M000020-source');return false;">[Source]</a></p>
276
+ <div class="method-source-code" id="M000020-source">
207
277
  <pre>
208
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 68</span>
278
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 124</span>
209
279
  <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>)
210
280
  <span class="ruby-identifier">fails</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
211
281
  <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>
212
- <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">extname</span>(<span class="ruby-identifier">file</span>) <span class="ruby-operator">!=</span> <span class="ruby-node">&quot;.#{@fail_suffix}&quot;</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">extname</span>(<span class="ruby-identifier">file</span>) <span class="ruby-operator">!=</span> <span class="ruby-node">&quot;.#{@ok_suffix}&quot;</span>
213
- <span class="ruby-identifier">fails</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">file</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>( <span class="ruby-identifier">get_fail_file_for</span>(<span class="ruby-identifier">file</span>) )
214
- <span class="ruby-keyword kw">end</span>
282
+ <span class="ruby-identifier">fails</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">file</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>( <span class="ruby-identifier">get_fail_file_for</span>(<span class="ruby-identifier">file</span>) )
215
283
  <span class="ruby-keyword kw">end</span>
216
284
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">fails</span>
217
285
  <span class="ruby-keyword kw">end</span>
@@ -220,83 +288,81 @@ List <a href="AbstractFileManager.html#M000014">failures</a>
220
288
  </div>
221
289
  </div>
222
290
 
223
- <div id="method-M000017" class="method-detail">
224
- <a name="M000017"></a>
291
+ <div id="method-M000023" class="method-detail">
292
+ <a name="M000023"></a>
225
293
 
226
294
  <div class="method-heading">
227
- <a href="#M000017" class="method-signature">
295
+ <a href="#M000023" class="method-signature">
228
296
  <span class="method-name">get_fail_file_for</span><span class="method-args">(filename)</span>
229
297
  </a>
230
298
  </div>
231
299
 
232
300
  <div class="method-description">
233
301
  <p><a class="source-toggle" href="#"
234
- onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
235
- <div class="method-source-code" id="M000017-source">
302
+ onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
303
+ <div class="method-source-code" id="M000023-source">
236
304
  <pre>
237
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 100</span>
305
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 152</span>
238
306
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_fail_file_for</span>(<span class="ruby-identifier">filename</span>)
239
- <span class="ruby-identifier">ext</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">extname</span>(<span class="ruby-identifier">filename</span>)
240
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-node">/#{ext}$/</span>, <span class="ruby-node">&quot;.#{@fail_suffix}&quot;</span>)
307
+ <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
+ <span class="ruby-identifier">base</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">filename</span>)
309
+ <span class="ruby-identifier">relative_path</span> = <span class="ruby-identifier">relative_path</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-identifier">base</span>, <span class="ruby-node">&quot;#{TRACKING_DIR}/#{base}&quot;</span>)
310
+ <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;#{@dir}#{relative_path}.#{@fail_suffix}&quot;</span>
241
311
  <span class="ruby-keyword kw">end</span>
242
312
  </pre>
243
313
  </div>
244
314
  </div>
245
315
  </div>
246
316
 
247
- <div id="method-M000018" class="method-detail">
248
- <a name="M000018"></a>
317
+ <div id="method-M000024" class="method-detail">
318
+ <a name="M000024"></a>
249
319
 
250
320
  <div class="method-heading">
251
- <a href="#M000018" class="method-signature">
321
+ <a href="#M000024" class="method-signature">
252
322
  <span class="method-name">get_ok_file_for</span><span class="method-args">(filename)</span>
253
323
  </a>
254
324
  </div>
255
325
 
256
326
  <div class="method-description">
257
327
  <p><a class="source-toggle" href="#"
258
- onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
259
- <div class="method-source-code" id="M000018-source">
328
+ onclick="toggleCode('M000024-source');return false;">[Source]</a></p>
329
+ <div class="method-source-code" id="M000024-source">
260
330
  <pre>
261
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 105</span>
331
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 159</span>
262
332
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">get_ok_file_for</span>(<span class="ruby-identifier">filename</span>)
263
- <span class="ruby-identifier">ext</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">extname</span>(<span class="ruby-identifier">filename</span>)
264
- <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">filename</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-node">/#{ext}$/</span>, <span class="ruby-node">&quot;.#{@ok_suffix}&quot;</span>)
333
+ <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
+ <span class="ruby-identifier">base</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">filename</span>)
335
+ <span class="ruby-identifier">relative_path</span> = <span class="ruby-identifier">relative_path</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-identifier">base</span>, <span class="ruby-node">&quot;#{TRACKING_DIR}/#{base}&quot;</span>)
336
+ <span class="ruby-keyword kw">return</span> <span class="ruby-node">&quot;#{@dir}#{relative_path}.#{@ok_suffix}&quot;</span>
265
337
  <span class="ruby-keyword kw">end</span>
266
338
  </pre>
267
339
  </div>
268
340
  </div>
269
341
  </div>
270
342
 
271
- <div id="method-M000013" class="method-detail">
272
- <a name="M000013"></a>
343
+ <div id="method-M000019" class="method-detail">
344
+ <a name="M000019"></a>
273
345
 
274
346
  <div class="method-heading">
275
- <a href="#M000013" class="method-signature">
347
+ <a href="#M000019" class="method-signature">
276
348
  <span class="method-name">new_files</span><span class="method-args">(recursive=false)</span>
277
349
  </a>
278
350
  </div>
279
351
 
280
352
  <div class="method-description">
281
353
  <p>
282
- List any <a href="AbstractFileManager.html#M000009">new</a> files in the
354
+ List any <a href="AbstractFileManager.html#M000010">new</a> files in the
283
355
  directory
284
356
  </p>
285
357
  <p><a class="source-toggle" href="#"
286
- onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
287
- <div class="method-source-code" id="M000013-source">
358
+ onclick="toggleCode('M000019-source');return false;">[Source]</a></p>
359
+ <div class="method-source-code" id="M000019-source">
288
360
  <pre>
289
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 53</span>
361
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 115</span>
290
362
  <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>)
291
363
  <span class="ruby-identifier">newfiles</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
292
364
  <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>
293
-
294
- <span class="ruby-identifier">ok_file</span> = <span class="ruby-identifier">get_ok_file_for</span>(<span class="ruby-identifier">file</span>)
295
- <span class="ruby-identifier">fail_file</span> = <span class="ruby-identifier">get_fail_file_for</span>(<span class="ruby-identifier">file</span>)
296
- <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span>( <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">ok_file</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">fail_file</span>) )
297
- <span class="ruby-identifier">newfiles</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">file</span>
298
- <span class="ruby-keyword kw">end</span>
299
-
365
+ <span class="ruby-identifier">newfiles</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">file</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">stored?</span>(<span class="ruby-identifier">file</span>)
300
366
  <span class="ruby-keyword kw">end</span>
301
367
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">newfiles</span>
302
368
  <span class="ruby-keyword kw">end</span>
@@ -305,12 +371,12 @@ directory
305
371
  </div>
306
372
  </div>
307
373
 
308
- <div id="method-M000012" class="method-detail">
309
- <a name="M000012"></a>
374
+ <div id="method-M000014" class="method-detail">
375
+ <a name="M000014"></a>
310
376
 
311
377
  <div class="method-heading">
312
- <a href="#M000012" class="method-signature">
313
- <span class="method-name">reset</span><span class="method-args">()</span>
378
+ <a href="#M000014" class="method-signature">
379
+ <span class="method-name">reset</span><span class="method-args">(recursive=false)</span>
314
380
  </a>
315
381
  </div>
316
382
 
@@ -319,15 +385,20 @@ directory
319
385
  Reset the directory to clear out any previous statuses
320
386
  </p>
321
387
  <p><a class="source-toggle" href="#"
322
- onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
323
- <div class="method-source-code" id="M000012-source">
388
+ onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
389
+ <div class="method-source-code" id="M000014-source">
324
390
  <pre>
325
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 43</span>
326
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reset</span>()
327
- <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>( <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@dir</span>, <span class="ruby-node">&quot;*.#{@fail_suffix}&quot;</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>
391
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 55</span>
392
+ <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
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">recursive</span>
394
+ <span class="ruby-identifier">pattern</span> = <span class="ruby-node">&quot;**/#{TRACKING_DIR}/*&quot;</span>
395
+ <span class="ruby-keyword kw">else</span>
396
+ <span class="ruby-identifier">pattern</span> = <span class="ruby-node">&quot;/#{TRACKING_DIR}/*&quot;</span>
397
+ <span class="ruby-keyword kw">end</span>
398
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>( <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@dir</span>, <span class="ruby-node">&quot;#{pattern}.#{@fail_suffix}&quot;</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>
328
399
  <span class="ruby-constant">File</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">file</span>)
329
400
  <span class="ruby-keyword kw">end</span>
330
- <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>( <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@dir</span>, <span class="ruby-node">&quot;*.#{@ok_suffix}&quot;</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>
401
+ <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">glob</span>( <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-ivar">@dir</span>, <span class="ruby-node">&quot;#{pattern}.#{@ok_suffix}&quot;</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>
331
402
  <span class="ruby-constant">File</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">file</span>)
332
403
  <span class="ruby-keyword kw">end</span>
333
404
  <span class="ruby-keyword kw">end</span>
@@ -336,12 +407,12 @@ Reset the directory to clear out any previous statuses
336
407
  </div>
337
408
  </div>
338
409
 
339
- <div id="method-M000011" class="method-detail">
340
- <a name="M000011"></a>
410
+ <div id="method-M000012" class="method-detail">
411
+ <a name="M000012"></a>
341
412
 
342
413
  <div class="method-heading">
343
- <a href="#M000011" class="method-signature">
344
- <span class="method-name">retry_failures</span><span class="method-args">()</span>
414
+ <a href="#M000012" class="method-signature">
415
+ <span class="method-name">retry_failures</span><span class="method-args">(recursive=false)</span>
345
416
  </a>
346
417
  </div>
347
418
 
@@ -350,12 +421,12 @@ Reset the directory to clear out any previous statuses
350
421
  Retry anything known to have failed
351
422
  </p>
352
423
  <p><a class="source-toggle" href="#"
353
- onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
354
- <div class="method-source-code" id="M000011-source">
424
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
425
+ <div class="method-source-code" id="M000012-source">
355
426
  <pre>
356
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 32</span>
357
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">retry_failures</span>()
358
- <span class="ruby-identifier">retries</span> = <span class="ruby-identifier">failures</span>()
427
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 31</span>
428
+ <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
+ <span class="ruby-identifier">retries</span> = <span class="ruby-identifier">failures</span>(<span class="ruby-identifier">recursive</span>)
359
430
  <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>
360
431
  <span class="ruby-constant">File</span>.<span class="ruby-identifier">delete</span>( <span class="ruby-identifier">get_fail_file_for</span>(<span class="ruby-identifier">filename</span>) )
361
432
  <span class="ruby-comment cmt">#store it</span>
@@ -368,11 +439,11 @@ Retry anything known to have failed
368
439
  </div>
369
440
  </div>
370
441
 
371
- <div id="method-M000010" class="method-detail">
372
- <a name="M000010"></a>
442
+ <div id="method-M000011" class="method-detail">
443
+ <a name="M000011"></a>
373
444
 
374
445
  <div class="method-heading">
375
- <a href="#M000010" class="method-signature">
446
+ <a href="#M000011" class="method-signature">
376
447
  <span class="method-name">store</span><span class="method-args">(recursive=false)</span>
377
448
  </a>
378
449
  </div>
@@ -383,10 +454,10 @@ Retry anything known to have failed
383
454
  directory
384
455
  </p>
385
456
  <p><a class="source-toggle" href="#"
386
- onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
387
- <div class="method-source-code" id="M000010-source">
457
+ onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
458
+ <div class="method-source-code" id="M000011-source">
388
459
  <pre>
389
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 23</span>
460
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 22</span>
390
461
  <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>)
391
462
  <span class="ruby-identifier">files_to_store</span> = <span class="ruby-identifier">new_files</span>(<span class="ruby-identifier">recursive</span>)
392
463
  <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>
@@ -399,30 +470,118 @@ directory
399
470
  </div>
400
471
  </div>
401
472
 
473
+ <div id="method-M000013" class="method-detail">
474
+ <a name="M000013"></a>
475
+
476
+ <div class="method-heading">
477
+ <a href="#M000013" class="method-signature">
478
+ <span class="method-name">store_changes</span><span class="method-args">(recursive=false)</span>
479
+ </a>
480
+ </div>
481
+
482
+ <div class="method-description">
483
+ <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">
486
+ <pre>
487
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 41</span>
488
+ <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
+ <span class="ruby-identifier">changes</span> = <span class="ruby-identifier">changed_files</span>(<span class="ruby-identifier">recursive</span>)
490
+ <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>
491
+ <span class="ruby-comment cmt">#cleanup tracking files</span>
492
+ <span class="ruby-identifier">f</span> = <span class="ruby-identifier">get_fail_file_for</span>(<span class="ruby-identifier">filename</span>)
493
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">delete</span>( <span class="ruby-identifier">f</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">f</span>)
494
+ <span class="ruby-identifier">f</span> = <span class="ruby-identifier">get_ok_file_for</span>(<span class="ruby-identifier">filename</span>)
495
+ <span class="ruby-constant">File</span>.<span class="ruby-identifier">delete</span>( <span class="ruby-identifier">f</span> ) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">f</span>)
496
+ <span class="ruby-identifier">file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">filename</span>)
497
+ <span class="ruby-identifier">store_file</span>(<span class="ruby-identifier">file</span>, <span class="ruby-identifier">filename</span>)
498
+ <span class="ruby-keyword kw">end</span>
499
+ <span class="ruby-keyword kw">end</span>
500
+ </pre>
501
+ </div>
502
+ </div>
503
+ </div>
504
+
402
505
  <div id="method-M000015" class="method-detail">
403
506
  <a name="M000015"></a>
404
507
 
405
508
  <div class="method-heading">
406
509
  <a href="#M000015" class="method-signature">
407
- <span class="method-name">successes</span><span class="method-args">(recursive=false)</span>
510
+ <span class="method-name">stored?</span><span class="method-args">(file)</span>
408
511
  </a>
409
512
  </div>
410
513
 
411
514
  <div class="method-description">
412
515
  <p>
413
- List <a href="AbstractFileManager.html#M000015">successes</a>
516
+ returns true if there is a fail or ok file, false otherwise
414
517
  </p>
415
518
  <p><a class="source-toggle" href="#"
416
519
  onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
417
520
  <div class="method-source-code" id="M000015-source">
418
521
  <pre>
419
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 79</span>
522
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 70</span>
523
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">stored?</span>(<span class="ruby-identifier">file</span>)
524
+ <span class="ruby-identifier">ok_file</span> = <span class="ruby-identifier">get_ok_file_for</span>(<span class="ruby-identifier">file</span>)
525
+ <span class="ruby-identifier">fail_file</span> = <span class="ruby-identifier">get_fail_file_for</span>(<span class="ruby-identifier">file</span>)
526
+ <span class="ruby-keyword kw">if</span> ( <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">ok_file</span>) <span class="ruby-keyword kw">or</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">fail_file</span>) )
527
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
528
+ <span class="ruby-keyword kw">end</span>
529
+ <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span>
530
+ <span class="ruby-keyword kw">end</span>
531
+ </pre>
532
+ </div>
533
+ </div>
534
+ </div>
535
+
536
+ <div id="method-M000017" class="method-detail">
537
+ <a name="M000017"></a>
538
+
539
+ <div class="method-heading">
540
+ <a href="#M000017" class="method-signature">
541
+ <span class="method-name">stored_files</span><span class="method-args">(recursive=false)</span>
542
+ </a>
543
+ </div>
544
+
545
+ <div class="method-description">
546
+ <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">
549
+ <pre>
550
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 98</span>
551
+ <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
+ <span class="ruby-identifier">stored</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
553
+ <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>
554
+ <span class="ruby-identifier">stored</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">file</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">stored?</span>(<span class="ruby-identifier">file</span>)
555
+ <span class="ruby-keyword kw">end</span>
556
+ <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">stored</span>
557
+ <span class="ruby-keyword kw">end</span>
558
+ </pre>
559
+ </div>
560
+ </div>
561
+ </div>
562
+
563
+ <div id="method-M000021" class="method-detail">
564
+ <a name="M000021"></a>
565
+
566
+ <div class="method-heading">
567
+ <a href="#M000021" class="method-signature">
568
+ <span class="method-name">successes</span><span class="method-args">(recursive=false)</span>
569
+ </a>
570
+ </div>
571
+
572
+ <div class="method-description">
573
+ <p>
574
+ List <a href="AbstractFileManager.html#M000021">successes</a>
575
+ </p>
576
+ <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">
579
+ <pre>
580
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 133</span>
420
581
  <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>)
421
582
  <span class="ruby-identifier">successes</span> = <span class="ruby-constant">Array</span>.<span class="ruby-identifier">new</span>
422
583
  <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>
423
- <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">extname</span>(<span class="ruby-identifier">file</span>) <span class="ruby-operator">!=</span> <span class="ruby-node">&quot;.#{@fail_suffix}&quot;</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">extname</span>(<span class="ruby-identifier">file</span>) <span class="ruby-operator">!=</span> <span class="ruby-node">&quot;.#{@ok_suffix}&quot;</span>
424
- <span class="ruby-identifier">successes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">file</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>( <span class="ruby-identifier">get_ok_file_for</span>(<span class="ruby-identifier">file</span>) )
425
- <span class="ruby-keyword kw">end</span>
584
+ <span class="ruby-identifier">successes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">file</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>( <span class="ruby-identifier">get_ok_file_for</span>(<span class="ruby-identifier">file</span>) )
426
585
  <span class="ruby-keyword kw">end</span>
427
586
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">successes</span>
428
587
  <span class="ruby-keyword kw">end</span>
@@ -431,11 +590,11 @@ List <a href="AbstractFileManager.html#M000015">successes</a>
431
590
  </div>
432
591
  </div>
433
592
 
434
- <div id="method-M000016" class="method-detail">
435
- <a name="M000016"></a>
593
+ <div id="method-M000022" class="method-detail">
594
+ <a name="M000022"></a>
436
595
 
437
596
  <div class="method-heading">
438
- <a href="#M000016" class="method-signature">
597
+ <a href="#M000022" class="method-signature">
439
598
  <span class="method-name">summary</span><span class="method-args">(recursive=false)</span>
440
599
  </a>
441
600
  </div>
@@ -446,10 +605,10 @@ Summarize the state of the collection to the provided IO object Creates a
446
605
  simple report
447
606
  </p>
448
607
  <p><a class="source-toggle" href="#"
449
- onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
450
- <div class="method-source-code" id="M000016-source">
608
+ onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
609
+ <div class="method-source-code" id="M000022-source">
451
610
  <pre>
452
- <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 91</span>
611
+ <span class="ruby-comment cmt"># File lib/pho/file_management.rb, line 143</span>
453
612
  <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>)
454
613
  <span class="ruby-identifier">failures</span> = <span class="ruby-identifier">failures</span>(<span class="ruby-identifier">recursive</span>)
455
614
  <span class="ruby-identifier">successes</span> = <span class="ruby-identifier">successes</span>(<span class="ruby-identifier">recursive</span>)