mir 0.1.4 → 0.1.5

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.
@@ -0,0 +1,1140 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Mir::Models::Resource
8
+
9
+ &mdash; Documentation by YARD 0.7.2
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ relpath = '../..';
19
+ if (relpath != '') relpath += '/';
20
+ </script>
21
+
22
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
25
+
26
+
27
+ </head>
28
+ <body>
29
+ <script type="text/javascript" charset="utf-8">
30
+ if (window.top.frames.main) document.body.className = 'frames';
31
+ </script>
32
+
33
+ <div id="header">
34
+ <div id="menu">
35
+
36
+ <a href="../../_index.html">Index (R)</a> &raquo;
37
+ <span class='title'><span class='object_link'><a href="../../Mir.html" title="Mir (module)">Mir</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Models.html" title="Mir::Models (module)">Models</a></span></span>
38
+ &raquo;
39
+ <span class="title">Resource</span>
40
+
41
+
42
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
43
+ </div>
44
+
45
+ <div id="search">
46
+
47
+ <a id="class_list_link" href="#">Class List</a>
48
+
49
+ <a id="method_list_link" href="#">Method List</a>
50
+
51
+ <a id="file_list_link" href="#">File List</a>
52
+
53
+ </div>
54
+ <div class="clear"></div>
55
+ </div>
56
+
57
+ <iframe id="search_frame"></iframe>
58
+
59
+ <div id="content"><h1>Class: Mir::Models::Resource
60
+
61
+
62
+
63
+ </h1>
64
+
65
+ <dl class="box">
66
+
67
+ <dt class="r1">Inherits:</dt>
68
+ <dd class="r1">
69
+ <span class="inheritName">ActiveRecord::Base</span>
70
+
71
+ <ul class="fullTree">
72
+ <li>Object</li>
73
+
74
+ <li class="next">ActiveRecord::Base</li>
75
+
76
+ <li class="next">Mir::Models::Resource</li>
77
+
78
+ </ul>
79
+ <a href="#" class="inheritanceTree">show all</a>
80
+
81
+ </dd>
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+ <dt class="r2 last">Defined in:</dt>
92
+ <dd class="r2 last">lib/mir/models/resource.rb</dd>
93
+
94
+ </dl>
95
+ <div class="clear"></div>
96
+
97
+
98
+
99
+
100
+
101
+
102
+
103
+
104
+
105
+ <h2>
106
+ Class Method Summary
107
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
108
+ </h2>
109
+
110
+ <ul class="summary">
111
+
112
+ <li class="public ">
113
+ <span class="summary_signature">
114
+
115
+ <a href="#chunked_groups-class_method" title="chunked_groups (class method)">+ (Object) <strong>chunked_groups</strong>(qry_func, chunk_size) </a>
116
+
117
+
118
+
119
+ </span>
120
+
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+ <span class="summary_desc"><div class='inline'></div></span>
129
+
130
+ </li>
131
+
132
+
133
+ <li class="public ">
134
+ <span class="summary_signature">
135
+
136
+ <a href="#create_from_file_and_name-class_method" title="create_from_file_and_name (class method)">+ (Resource) <strong>create_from_file_and_name</strong>(file, name) </a>
137
+
138
+
139
+
140
+ </span>
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+ <span class="summary_desc"><div class='inline'><p>
150
+ Builds a resource for the backup index from a file.
151
+ </p>
152
+ </div></span>
153
+
154
+ </li>
155
+
156
+
157
+ <li class="public ">
158
+ <span class="summary_signature">
159
+
160
+ <a href="#delete_all_except-class_method" title="delete_all_except (class method)">+ (Object) <strong>delete_all_except</strong>(index_date) </a>
161
+
162
+
163
+
164
+ </span>
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+ <span class="summary_desc"><div class='inline'><p>
174
+ Removes all resources not that were not indexed on the specified date.
175
+ </p>
176
+ </div></span>
177
+
178
+ </li>
179
+
180
+
181
+ <li class="public ">
182
+ <span class="summary_signature">
183
+
184
+ <a href="#ordered_groups-class_method" title="ordered_groups (class method)">+ (Object) <strong>ordered_groups</strong>(group_size = 10) {|Array| ... }</a>
185
+
186
+
187
+
188
+ </span>
189
+
190
+
191
+
192
+
193
+
194
+
195
+
196
+
197
+ <span class="summary_desc"><div class='inline'><p>
198
+ Returns groups of file resources ordered by name.
199
+ </p>
200
+ </div></span>
201
+
202
+ </li>
203
+
204
+
205
+ <li class="public ">
206
+ <span class="summary_signature">
207
+
208
+ <a href="#pending_jobs%3F-class_method" title="pending_jobs? (class method)">+ (Boolean) <strong>pending_jobs?</strong> </a>
209
+
210
+
211
+
212
+ </span>
213
+
214
+
215
+
216
+
217
+
218
+
219
+
220
+
221
+ <span class="summary_desc"><div class='inline'><p>
222
+ Returns true when jobs are still queued.
223
+ </p>
224
+ </div></span>
225
+
226
+ </li>
227
+
228
+
229
+ <li class="public ">
230
+ <span class="summary_signature">
231
+
232
+ <a href="#pending_sync_groups-class_method" title="pending_sync_groups (class method)">+ (Object) <strong>pending_sync_groups</strong>(response_size, &amp;block) </a>
233
+
234
+
235
+
236
+ </span>
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+ <span class="summary_desc"><div class='inline'><p>
246
+ Yields a Models::Resource object that needs to be synchronized.
247
+ </p>
248
+ </div></span>
249
+
250
+ </li>
251
+
252
+
253
+ </ul>
254
+
255
+ <h2>
256
+ Instance Method Summary
257
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
258
+ </h2>
259
+
260
+ <ul class="summary">
261
+
262
+ <li class="public ">
263
+ <span class="summary_signature">
264
+
265
+ <a href="#abs_path-instance_method" title="#abs_path (instance method)">- (Object) <strong>abs_path</strong> </a>
266
+
267
+
268
+
269
+ </span>
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+
278
+ <span class="summary_desc"><div class='inline'></div></span>
279
+
280
+ </li>
281
+
282
+
283
+ <li class="public ">
284
+ <span class="summary_signature">
285
+
286
+ <a href="#flag_for_update-instance_method" title="#flag_for_update (instance method)">- (Object) <strong>flag_for_update</strong> </a>
287
+
288
+
289
+
290
+ </span>
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+ <span class="summary_desc"><div class='inline'><p>
300
+ Places the resource into a queueble state.
301
+ </p>
302
+ </div></span>
303
+
304
+ </li>
305
+
306
+
307
+ <li class="public ">
308
+ <span class="summary_signature">
309
+
310
+ <a href="#start_progress-instance_method" title="#start_progress (instance method)">- (Object) <strong>start_progress</strong> </a>
311
+
312
+
313
+
314
+ </span>
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+
323
+ <span class="summary_desc"><div class='inline'></div></span>
324
+
325
+ </li>
326
+
327
+
328
+ <li class="public ">
329
+ <span class="summary_signature">
330
+
331
+ <a href="#synchronizable%3F-instance_method" title="#synchronizable? (instance method)">- (Boolean) <strong>synchronizable?</strong> </a>
332
+
333
+
334
+
335
+ </span>
336
+
337
+
338
+
339
+
340
+
341
+
342
+
343
+
344
+ <span class="summary_desc"><div class='inline'><p>
345
+ Whether the item can be synchronized to a remote disk.
346
+ </p>
347
+ </div></span>
348
+
349
+ </li>
350
+
351
+
352
+ <li class="public ">
353
+ <span class="summary_signature">
354
+
355
+ <a href="#synchronized%3F-instance_method" title="#synchronized? (instance method)">- (Boolean) <strong>synchronized?</strong>(file) </a>
356
+
357
+
358
+
359
+ </span>
360
+
361
+
362
+
363
+
364
+
365
+
366
+
367
+
368
+ <span class="summary_desc"><div class='inline'><p>
369
+ Compares a file asset to the index to deterimine whether the file needs to
370
+ be updated.
371
+ </p>
372
+ </div></span>
373
+
374
+ </li>
375
+
376
+
377
+ <li class="public ">
378
+ <span class="summary_signature">
379
+
380
+ <a href="#update_failure-instance_method" title="#update_failure (instance method)">- (Object) <strong>update_failure</strong> </a>
381
+
382
+
383
+
384
+ </span>
385
+
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+ <span class="summary_desc"><div class='inline'></div></span>
394
+
395
+ </li>
396
+
397
+
398
+ <li class="public ">
399
+ <span class="summary_signature">
400
+
401
+ <a href="#update_success-instance_method" title="#update_success (instance method)">- (Object) <strong>update_success</strong> </a>
402
+
403
+
404
+
405
+ </span>
406
+
407
+
408
+
409
+
410
+
411
+
412
+
413
+
414
+ <span class="summary_desc"><div class='inline'></div></span>
415
+
416
+ </li>
417
+
418
+
419
+ </ul>
420
+
421
+
422
+
423
+
424
+
425
+ <div id="class_method_details" class="method_details_list">
426
+ <h2>Class Method Details</h2>
427
+
428
+
429
+ <div class="method_details first">
430
+ <p class="signature first" id="chunked_groups-class_method">
431
+
432
+ + (<tt>Object</tt>) <strong>chunked_groups</strong>(qry_func, chunk_size)
433
+
434
+
435
+
436
+ </p><table class="source_code">
437
+ <tr>
438
+ <td>
439
+ <pre class="lines">
440
+
441
+
442
+ 54
443
+ 55
444
+ 56
445
+ 57
446
+ 58
447
+ 59
448
+ 60
449
+ 61
450
+ 62</pre>
451
+ </td>
452
+ <td>
453
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 54</span>
454
+
455
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id chunked_groups'>chunked_groups</span><span class='lparen'>(</span><span class='id qry_func'>qry_func</span><span class='comma'>,</span> <span class='id chunk_size'>chunk_size</span><span class='rparen'>)</span>
456
+ <span class='id num_results'>num_results</span> <span class='op'>=</span> <span class='const'>Resource</span><span class='period'>.</span><span class='id count'>count</span>
457
+ <span class='id offset'>offset</span> <span class='op'>=</span> <span class='int'>0</span>
458
+ <span class='id pages'>pages</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id num_results'>num_results</span><span class='op'>/</span><span class='id chunk_size'>chunk_size</span><span class='period'>.</span><span class='id to_f'>to_f</span><span class='rparen'>)</span><span class='period'>.</span><span class='id ceil'>ceil</span>
459
+ <span class='id pages'>pages</span><span class='period'>.</span><span class='id times'>times</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id i'>i</span><span class='op'>|</span>
460
+ <span class='id response'>response</span> <span class='op'>=</span> <span class='id qry_func'>qry_func</span><span class='period'>.</span><span class='id call'>call</span><span class='lparen'>(</span><span class='rparen'>)</span><span class='period'>.</span><span class='id limit'>limit</span><span class='lparen'>(</span><span class='id chunk_size'>chunk_size</span><span class='rparen'>)</span><span class='period'>.</span><span class='id offset'>offset</span><span class='lparen'>(</span><span class='id i'>i</span><span class='op'>*</span><span class='id chunk_size'>chunk_size</span><span class='rparen'>)</span>
461
+ <span class='kw'>yield</span> <span class='id response'>response</span>
462
+ <span class='kw'>end</span>
463
+ <span class='kw'>end</span></pre>
464
+ </td>
465
+ </tr>
466
+ </table>
467
+ </div>
468
+
469
+ <div class="method_details ">
470
+ <p class="signature " id="create_from_file_and_name-class_method">
471
+
472
+ + (<tt><span class='object_link'><a href="" title="Mir::Models::Resource (class)">Resource</a></span></tt>) <strong>create_from_file_and_name</strong>(file, name)
473
+
474
+
475
+
476
+ </p><div class="docstring">
477
+ <div class="discussion">
478
+ <p>
479
+ Builds a resource for the backup index from a file
480
+ </p>
481
+
482
+
483
+ </div>
484
+ </div>
485
+ <div class="tags">
486
+ <h3>Parameters:</h3>
487
+ <ul class="param">
488
+
489
+ <li>
490
+
491
+ <span class='name'>a</span>
492
+
493
+
494
+ <span class='type'>(<tt>File</tt>)</span>
495
+
496
+
497
+
498
+ &mdash;
499
+ <div class='inline'><p>
500
+ file object
501
+ </p>
502
+ </div>
503
+
504
+ </li>
505
+
506
+ <li>
507
+
508
+ <span class='name'>the</span>
509
+
510
+
511
+ <span class='type'>(<tt>String</tt>)</span>
512
+
513
+
514
+
515
+ &mdash;
516
+ <div class='inline'><p>
517
+ name of the file on the remote disk
518
+ </p>
519
+ </div>
520
+
521
+ </li>
522
+
523
+ </ul>
524
+ <h3>Returns:</h3>
525
+ <ul class="return">
526
+
527
+ <li>
528
+
529
+
530
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Mir::Models::Resource (class)">Resource</a></span></tt>)</span>
531
+
532
+
533
+
534
+ &mdash;
535
+ <div class='inline'><p>
536
+ a new Resource instance that with a queued status
537
+ </p>
538
+ </div>
539
+
540
+ </li>
541
+
542
+ </ul>
543
+
544
+ </div><table class="source_code">
545
+ <tr>
546
+ <td>
547
+ <pre class="lines">
548
+
549
+
550
+ 14
551
+ 15
552
+ 16
553
+ 17
554
+ 18
555
+ 19
556
+ 20
557
+ 21
558
+ 22
559
+ 23</pre>
560
+ </td>
561
+ <td>
562
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 14</span>
563
+
564
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id create_from_file_and_name'>create_from_file_and_name</span><span class='lparen'>(</span><span class='id file'>file</span><span class='comma'>,</span> <span class='id name'>name</span><span class='rparen'>)</span>
565
+ <span class='id is_dir'>is_dir</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id directory?'>directory?</span><span class='lparen'>(</span><span class='id file'>file</span><span class='rparen'>)</span>
566
+ <span class='id create'>create</span><span class='lparen'>(</span><span class='symbol'>:filename</span> <span class='op'>=&gt;</span> <span class='id name'>name</span><span class='comma'>,</span>
567
+ <span class='symbol'>:size</span> <span class='op'>=&gt;</span> <span class='id file'>file</span><span class='period'>.</span><span class='id size'>size</span><span class='comma'>,</span>
568
+ <span class='symbol'>:last_modified</span> <span class='op'>=&gt;</span> <span class='id file'>file</span><span class='period'>.</span><span class='id ctime'>ctime</span><span class='comma'>,</span>
569
+ <span class='symbol'>:add_date</span> <span class='op'>=&gt;</span> <span class='const'>DateTime</span><span class='period'>.</span><span class='id now'>now</span><span class='comma'>,</span>
570
+ <span class='symbol'>:queued</span> <span class='op'>=&gt;</span> <span class='op'>!</span><span class='id is_dir'>is_dir</span><span class='comma'>,</span>
571
+ <span class='symbol'>:checksum</span> <span class='op'>=&gt;</span> <span class='id is_dir'>is_dir</span> <span class='op'>?</span> <span class='kw'>nil</span> <span class='op'>:</span> <span class='const'>Digest</span><span class='op'>::</span><span class='const'>MD5</span><span class='period'>.</span><span class='id file'>file</span><span class='lparen'>(</span><span class='id file'>file</span><span class='rparen'>)</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='comma'>,</span>
572
+ <span class='symbol'>:is_directory</span> <span class='op'>=&gt;</span> <span class='id is_dir'>is_dir</span><span class='rparen'>)</span>
573
+ <span class='kw'>end</span></pre>
574
+ </td>
575
+ </tr>
576
+ </table>
577
+ </div>
578
+
579
+ <div class="method_details ">
580
+ <p class="signature " id="delete_all_except-class_method">
581
+
582
+ + (<tt>Object</tt>) <strong>delete_all_except</strong>(index_date)
583
+
584
+
585
+
586
+ </p><div class="docstring">
587
+ <div class="discussion">
588
+ <p>
589
+ Removes all resources not that were not indexed on the specified date
590
+ </p>
591
+
592
+
593
+ </div>
594
+ </div>
595
+ <div class="tags">
596
+ <h3>Parameters:</h3>
597
+ <ul class="param">
598
+
599
+ <li>
600
+
601
+ <span class='name'></span>
602
+
603
+
604
+ <span class='type'>(<tt>DateTime</tt>)</span>
605
+
606
+
607
+
608
+ </li>
609
+
610
+ </ul>
611
+
612
+ </div><table class="source_code">
613
+ <tr>
614
+ <td>
615
+ <pre class="lines">
616
+
617
+
618
+ 29
619
+ 30
620
+ 31</pre>
621
+ </td>
622
+ <td>
623
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 29</span>
624
+
625
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id delete_all_except'>delete_all_except</span><span class='lparen'>(</span><span class='id index_date'>index_date</span><span class='rparen'>)</span>
626
+ <span class='id not_indexed_on'>not_indexed_on</span><span class='lparen'>(</span><span class='id index_date'>index_date</span><span class='rparen'>)</span><span class='period'>.</span><span class='id delete_all'>delete_all</span>
627
+ <span class='kw'>end</span></pre>
628
+ </td>
629
+ </tr>
630
+ </table>
631
+ </div>
632
+
633
+ <div class="method_details ">
634
+ <p class="signature " id="ordered_groups-class_method">
635
+
636
+ + (<tt>Object</tt>) <strong>ordered_groups</strong>(group_size = 10) {|Array| ... }
637
+
638
+
639
+
640
+ </p><div class="docstring">
641
+ <div class="discussion">
642
+ <p>
643
+ Returns groups of file resources ordered by name
644
+ </p>
645
+
646
+
647
+ </div>
648
+ </div>
649
+ <div class="tags">
650
+ <h3>Parameters:</h3>
651
+ <ul class="param">
652
+
653
+ <li>
654
+
655
+ <span class='name'>the</span>
656
+
657
+
658
+ <span class='type'>(<tt>Integer</tt>)</span>
659
+
660
+
661
+
662
+ &mdash;
663
+ <div class='inline'><p>
664
+ number of records to return per chunk
665
+ </p>
666
+ </div>
667
+
668
+ </li>
669
+
670
+ </ul>
671
+ <h3>Yields:</h3>
672
+ <ul class="yield">
673
+
674
+ <li>
675
+
676
+
677
+ <span class='type'>(<tt>Array</tt>)</span>
678
+
679
+
680
+
681
+ &mdash;
682
+ <div class='inline'><p>
683
+ instances of Models::Resource
684
+ </p>
685
+ </div>
686
+
687
+ </li>
688
+
689
+ </ul>
690
+
691
+ </div><table class="source_code">
692
+ <tr>
693
+ <td>
694
+ <pre class="lines">
695
+
696
+
697
+ 49
698
+ 50
699
+ 51
700
+ 52</pre>
701
+ </td>
702
+ <td>
703
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 49</span>
704
+
705
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id ordered_groups'>ordered_groups</span><span class='lparen'>(</span><span class='id group_size'>group_size</span> <span class='op'>=</span> <span class='int'>10</span><span class='rparen'>)</span>
706
+ <span class='id qry'>qry</span> <span class='op'>=</span> <span class='id lambda'>lambda</span> <span class='lbrace'>{</span> <span class='const'>Resource</span><span class='period'>.</span><span class='id order'>order</span><span class='lparen'>(</span><span class='symbol'>:filename</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
707
+ <span class='id chunked_groups'>chunked_groups</span><span class='lparen'>(</span><span class='id qry'>qry</span><span class='comma'>,</span> <span class='id group_size'>group_size</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id chunk'>chunk</span><span class='op'>|</span> <span class='kw'>yield</span> <span class='id chunk'>chunk</span> <span class='rbrace'>}</span>
708
+ <span class='kw'>end</span></pre>
709
+ </td>
710
+ </tr>
711
+ </table>
712
+ </div>
713
+
714
+ <div class="method_details ">
715
+ <p class="signature " id="pending_jobs?-class_method">
716
+
717
+ + (<tt>Boolean</tt>) <strong>pending_jobs?</strong>
718
+
719
+
720
+
721
+ </p><div class="docstring">
722
+ <div class="discussion">
723
+ <p>
724
+ Returns true when jobs are still queued
725
+ </p>
726
+
727
+
728
+ </div>
729
+ </div>
730
+ <div class="tags">
731
+ <h3>Returns:</h3>
732
+ <ul class="return">
733
+
734
+ <li>
735
+
736
+
737
+ <span class='type'>(<tt>Boolean</tt>)</span>
738
+
739
+
740
+
741
+ </li>
742
+
743
+ </ul>
744
+
745
+ </div><table class="source_code">
746
+ <tr>
747
+ <td>
748
+ <pre class="lines">
749
+
750
+
751
+ 34
752
+ 35
753
+ 36</pre>
754
+ </td>
755
+ <td>
756
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 34</span>
757
+
758
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id pending_jobs?'>pending_jobs?</span>
759
+ <span class='kw'>self</span><span class='period'>.</span><span class='id where'>where</span><span class='lparen'>(</span><span class='symbol'>:queued</span> <span class='op'>=&gt;</span> <span class='kw'>true</span><span class='rparen'>)</span><span class='period'>.</span><span class='id size'>size</span> <span class='op'>&gt;</span> <span class='int'>0</span>
760
+ <span class='kw'>end</span></pre>
761
+ </td>
762
+ </tr>
763
+ </table>
764
+ </div>
765
+
766
+ <div class="method_details ">
767
+ <p class="signature " id="pending_sync_groups-class_method">
768
+
769
+ + (<tt>Object</tt>) <strong>pending_sync_groups</strong>(response_size, &amp;block)
770
+
771
+
772
+
773
+ </p><div class="docstring">
774
+ <div class="discussion">
775
+ <p>
776
+ Yields a Models::Resource object that needs to be synchronized
777
+ </p>
778
+
779
+
780
+ </div>
781
+ </div>
782
+ <div class="tags">
783
+
784
+ </div><table class="source_code">
785
+ <tr>
786
+ <td>
787
+ <pre class="lines">
788
+
789
+
790
+ 39
791
+ 40
792
+ 41
793
+ 42</pre>
794
+ </td>
795
+ <td>
796
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 39</span>
797
+
798
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id pending_sync_groups'>pending_sync_groups</span><span class='lparen'>(</span><span class='id response_size'>response_size</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span><span class='rparen'>)</span>
799
+ <span class='id qry'>qry</span> <span class='op'>=</span> <span class='id lambda'>lambda</span> <span class='lbrace'>{</span> <span class='const'>Resource</span><span class='period'>.</span><span class='id where'>where</span><span class='lparen'>(</span><span class='symbol'>:queued</span> <span class='op'>=&gt;</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='symbol'>:is_directory</span> <span class='op'>=&gt;</span> <span class='kw'>false</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
800
+ <span class='id chunked_groups'>chunked_groups</span><span class='lparen'>(</span><span class='id qry'>qry</span><span class='comma'>,</span> <span class='id response_size'>response_size</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id chunk'>chunk</span><span class='op'>|</span> <span class='kw'>yield</span> <span class='id chunk'>chunk</span> <span class='rbrace'>}</span>
801
+ <span class='kw'>end</span></pre>
802
+ </td>
803
+ </tr>
804
+ </table>
805
+ </div>
806
+
807
+ </div>
808
+
809
+ <div id="instance_method_details" class="method_details_list">
810
+ <h2>Instance Method Details</h2>
811
+
812
+
813
+ <div class="method_details first">
814
+ <p class="signature first" id="abs_path-instance_method">
815
+
816
+ - (<tt>Object</tt>) <strong>abs_path</strong>
817
+
818
+
819
+
820
+ </p><table class="source_code">
821
+ <tr>
822
+ <td>
823
+ <pre class="lines">
824
+
825
+
826
+ 110
827
+ 111
828
+ 112</pre>
829
+ </td>
830
+ <td>
831
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 110</span>
832
+
833
+ <span class='kw'>def</span> <span class='id abs_path'>abs_path</span>
834
+ <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>AppSetting</span><span class='period'>.</span><span class='id backup_path'>backup_path</span><span class='comma'>,</span> <span class='id filename'>filename</span><span class='rparen'>)</span>
835
+ <span class='kw'>end</span></pre>
836
+ </td>
837
+ </tr>
838
+ </table>
839
+ </div>
840
+
841
+ <div class="method_details ">
842
+ <p class="signature " id="flag_for_update-instance_method">
843
+
844
+ - (<tt>Object</tt>) <strong>flag_for_update</strong>
845
+
846
+
847
+
848
+ </p><div class="docstring">
849
+ <div class="discussion">
850
+ <p>
851
+ Places the resource into a queueble state
852
+ </p>
853
+
854
+
855
+ </div>
856
+ </div>
857
+ <div class="tags">
858
+
859
+ </div><table class="source_code">
860
+ <tr>
861
+ <td>
862
+ <pre class="lines">
863
+
864
+
865
+ 87
866
+ 88
867
+ 89
868
+ 90
869
+ 91</pre>
870
+ </td>
871
+ <td>
872
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 87</span>
873
+
874
+ <span class='kw'>def</span> <span class='id flag_for_update'>flag_for_update</span>
875
+ <span class='id update_attributes'>update_attributes</span> <span class='symbol'>:queued</span> <span class='op'>=&gt;</span> <span class='kw'>true</span><span class='comma'>,</span>
876
+ <span class='symbol'>:checksum</span> <span class='op'>=&gt;</span> <span class='const'>Digest</span><span class='op'>::</span><span class='const'>MD5</span><span class='period'>.</span><span class='id file'>file</span><span class='lparen'>(</span><span class='id abs_path'>abs_path</span><span class='rparen'>)</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='comma'>,</span>
877
+ <span class='symbol'>:last_modified</span> <span class='op'>=&gt;</span> <span class='const'>File</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id abs_path'>abs_path</span><span class='rparen'>)</span><span class='period'>.</span><span class='id ctime'>ctime</span>
878
+ <span class='kw'>end</span></pre>
879
+ </td>
880
+ </tr>
881
+ </table>
882
+ </div>
883
+
884
+ <div class="method_details ">
885
+ <p class="signature " id="start_progress-instance_method">
886
+
887
+ - (<tt>Object</tt>) <strong>start_progress</strong>
888
+
889
+
890
+
891
+ </p><table class="source_code">
892
+ <tr>
893
+ <td>
894
+ <pre class="lines">
895
+
896
+
897
+ 93
898
+ 94
899
+ 95</pre>
900
+ </td>
901
+ <td>
902
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 93</span>
903
+
904
+ <span class='kw'>def</span> <span class='id start_progress'>start_progress</span>
905
+ <span class='id update_attribute'>update_attribute</span> <span class='symbol'>:in_progress</span><span class='comma'>,</span> <span class='kw'>true</span>
906
+ <span class='kw'>end</span></pre>
907
+ </td>
908
+ </tr>
909
+ </table>
910
+ </div>
911
+
912
+ <div class="method_details ">
913
+ <p class="signature " id="synchronizable?-instance_method">
914
+
915
+ - (<tt>Boolean</tt>) <strong>synchronizable?</strong>
916
+
917
+
918
+
919
+ </p><div class="docstring">
920
+ <div class="discussion">
921
+ <p>
922
+ Whether the item can be synchronized to a remote disk
923
+ </p>
924
+
925
+
926
+ </div>
927
+ </div>
928
+ <div class="tags">
929
+ <h3>Returns:</h3>
930
+ <ul class="return">
931
+
932
+ <li>
933
+
934
+
935
+ <span class='type'>(<tt>Boolean</tt>)</span>
936
+
937
+
938
+
939
+ &mdash;
940
+ <div class='inline'><p>
941
+ true when the resource is not a directory
942
+ </p>
943
+ </div>
944
+
945
+ </li>
946
+
947
+ </ul>
948
+
949
+ </div><table class="source_code">
950
+ <tr>
951
+ <td>
952
+ <pre class="lines">
953
+
954
+
955
+ 82
956
+ 83
957
+ 84</pre>
958
+ </td>
959
+ <td>
960
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 82</span>
961
+
962
+ <span class='kw'>def</span> <span class='id synchronizable?'>synchronizable?</span>
963
+ <span class='op'>!</span><span class='id is_directory?'>is_directory?</span>
964
+ <span class='kw'>end</span></pre>
965
+ </td>
966
+ </tr>
967
+ </table>
968
+ </div>
969
+
970
+ <div class="method_details ">
971
+ <p class="signature " id="synchronized?-instance_method">
972
+
973
+ - (<tt>Boolean</tt>) <strong>synchronized?</strong>(file)
974
+
975
+
976
+
977
+ </p><div class="docstring">
978
+ <div class="discussion">
979
+ <p>
980
+ Compares a file asset to the index to deterimine whether the file needs to
981
+ be updated
982
+ </p>
983
+
984
+
985
+ </div>
986
+ </div>
987
+ <div class="tags">
988
+ <h3>Parameters:</h3>
989
+ <ul class="param">
990
+
991
+ <li>
992
+
993
+ <span class='name'>a</span>
994
+
995
+
996
+ <span class='type'>(<tt>String</tt>)</span>
997
+
998
+
999
+
1000
+ &mdash;
1001
+ <div class='inline'><p>
1002
+ path to a file or directory
1003
+ </p>
1004
+ </div>
1005
+
1006
+ </li>
1007
+
1008
+ </ul>
1009
+ <h3>Returns:</h3>
1010
+ <ul class="return">
1011
+
1012
+ <li>
1013
+
1014
+
1015
+ <span class='type'>(<tt>Boolean</tt>)</span>
1016
+
1017
+
1018
+
1019
+ &mdash;
1020
+ <div class='inline'><p>
1021
+ returns true when the file&#8217;s checksum is equal to the value stored in
1022
+ the index, or when the file is a directory
1023
+ </p>
1024
+ </div>
1025
+
1026
+ </li>
1027
+
1028
+ </ul>
1029
+
1030
+ </div><table class="source_code">
1031
+ <tr>
1032
+ <td>
1033
+ <pre class="lines">
1034
+
1035
+
1036
+ 70
1037
+ 71
1038
+ 72
1039
+ 73
1040
+ 74
1041
+ 75
1042
+ 76
1043
+ 77
1044
+ 78</pre>
1045
+ </td>
1046
+ <td>
1047
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 70</span>
1048
+
1049
+ <span class='kw'>def</span> <span class='id synchronized?'>synchronized?</span><span class='lparen'>(</span><span class='id file'>file</span><span class='rparen'>)</span>
1050
+ <span class='kw'>if</span> <span class='const'>File</span><span class='period'>.</span><span class='id directory?'>directory?</span><span class='lparen'>(</span><span class='id file'>file</span><span class='rparen'>)</span>
1051
+ <span class='kw'>return</span> <span class='kw'>true</span>
1052
+ <span class='kw'>elsif</span> <span class='op'>!</span><span class='const'>File</span><span class='period'>.</span><span class='id exist?'>exist?</span><span class='lparen'>(</span><span class='id file'>file</span><span class='rparen'>)</span> <span class='kw'>or</span> <span class='id in_progress?'>in_progress?</span> <span class='kw'>or</span> <span class='id queued?'>queued?</span>
1053
+ <span class='kw'>return</span> <span class='kw'>false</span>
1054
+ <span class='kw'>else</span>
1055
+ <span class='const'>Digest</span><span class='op'>::</span><span class='const'>MD5</span><span class='period'>.</span><span class='id file'>file</span><span class='lparen'>(</span><span class='id file'>file</span><span class='rparen'>)</span><span class='period'>.</span><span class='id to_s'>to_s</span> <span class='op'>==</span> <span class='kw'>self</span><span class='period'>.</span><span class='id checksum'>checksum</span>
1056
+ <span class='kw'>end</span>
1057
+ <span class='kw'>end</span></pre>
1058
+ </td>
1059
+ </tr>
1060
+ </table>
1061
+ </div>
1062
+
1063
+ <div class="method_details ">
1064
+ <p class="signature " id="update_failure-instance_method">
1065
+
1066
+ - (<tt>Object</tt>) <strong>update_failure</strong>
1067
+
1068
+
1069
+
1070
+ </p><table class="source_code">
1071
+ <tr>
1072
+ <td>
1073
+ <pre class="lines">
1074
+
1075
+
1076
+ 104
1077
+ 105
1078
+ 106
1079
+ 107
1080
+ 108</pre>
1081
+ </td>
1082
+ <td>
1083
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 104</span>
1084
+
1085
+ <span class='kw'>def</span> <span class='id update_failure'>update_failure</span>
1086
+ <span class='id num_times_failed'>num_times_failed</span> <span class='op'>=</span> <span class='id times_failed'>times_failed</span> <span class='op'>+</span> <span class='int'>1</span>
1087
+ <span class='id will_requeue'>will_requeue</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id num_times_failed'>num_times_failed</span> <span class='op'>&lt;</span> <span class='const'>Mir</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id config'>config</span><span class='period'>.</span><span class='id max_upload_attempts'>max_upload_attempts</span><span class='rparen'>)</span>
1088
+ <span class='id update_attributes'>update_attributes</span> <span class='symbol'>:times_failed</span> <span class='op'>=&gt;</span> <span class='id num_times_failed'>num_times_failed</span><span class='comma'>,</span> <span class='symbol'>:in_progress</span> <span class='op'>=&gt;</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='symbol'>:queued</span> <span class='op'>=&gt;</span> <span class='id will_requeue'>will_requeue</span>
1089
+ <span class='kw'>end</span></pre>
1090
+ </td>
1091
+ </tr>
1092
+ </table>
1093
+ </div>
1094
+
1095
+ <div class="method_details ">
1096
+ <p class="signature " id="update_success-instance_method">
1097
+
1098
+ - (<tt>Object</tt>) <strong>update_success</strong>
1099
+
1100
+
1101
+
1102
+ </p><table class="source_code">
1103
+ <tr>
1104
+ <td>
1105
+ <pre class="lines">
1106
+
1107
+
1108
+ 97
1109
+ 98
1110
+ 99
1111
+ 100
1112
+ 101
1113
+ 102</pre>
1114
+ </td>
1115
+ <td>
1116
+ <pre class="code"><span class="info file"># File 'lib/mir/models/resource.rb', line 97</span>
1117
+
1118
+ <span class='kw'>def</span> <span class='id update_success'>update_success</span>
1119
+ <span class='id update_attributes'>update_attributes</span> <span class='symbol'>:in_progress</span> <span class='op'>=&gt;</span> <span class='kw'>false</span><span class='comma'>,</span>
1120
+ <span class='symbol'>:last_synchronized</span> <span class='op'>=&gt;</span> <span class='const'>DateTime</span><span class='period'>.</span><span class='id now'>now</span><span class='comma'>,</span>
1121
+ <span class='symbol'>:queued</span> <span class='op'>=&gt;</span> <span class='kw'>false</span><span class='comma'>,</span>
1122
+ <span class='symbol'>:times_failed</span> <span class='op'>=&gt;</span> <span class='int'>0</span>
1123
+ <span class='kw'>end</span></pre>
1124
+ </td>
1125
+ </tr>
1126
+ </table>
1127
+ </div>
1128
+
1129
+ </div>
1130
+
1131
+ </div>
1132
+
1133
+ <div id="footer">
1134
+ Generated on Fri Sep 23 18:24:39 2011 by
1135
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1136
+ 0.7.2 (ruby-1.9.2).
1137
+ </div>
1138
+
1139
+ </body>
1140
+ </html>