pho 0.7.7 → 0.7.8

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