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.
data/.gitignore CHANGED
@@ -2,3 +2,4 @@
2
2
  .bundle
3
3
  Gemfile.lock
4
4
  pkg/*
5
+ .yardoc
@@ -0,0 +1,353 @@
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
+ Module: Mir
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 (M)</a> &raquo;
37
+
38
+
39
+ <span class="title">Mir</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>Module: Mir
60
+
61
+
62
+
63
+ </h1>
64
+
65
+ <dl class="box">
66
+
67
+
68
+
69
+
70
+
71
+
72
+
73
+
74
+ <dt class="r1 last">Defined in:</dt>
75
+ <dd class="r1 last">lib/mir/disk.rb<span class="defines">,<br />
76
+ lib/mir.rb,<br /> lib/mir/utils.rb,<br /> lib/mir/index.rb,<br /> lib/mir/config.rb,<br /> lib/mir/logger.rb,<br /> lib/mir/version.rb,<br /> lib/mir/options.rb,<br /> lib/mir/disk/amazon.rb,<br /> lib/mir/application.rb,<br /> lib/mir/models/resource.rb,<br /> lib/mir/models/app_setting.rb</span>
77
+ </dd>
78
+
79
+ </dl>
80
+ <div class="clear"></div>
81
+
82
+ <h2>Overview</h2><div class="docstring">
83
+ <div class="discussion">
84
+ <p>
85
+ Represents a local file asset
86
+ </p>
87
+
88
+
89
+ </div>
90
+ </div>
91
+ <div class="tags">
92
+
93
+ </div><h2>Defined Under Namespace</h2>
94
+ <p class="children">
95
+
96
+
97
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Mir/Disk.html" title="Mir::Disk (module)">Disk</a></span>, <span class='object_link'><a href="Mir/Models.html" title="Mir::Models (module)">Models</a></span>, <span class='object_link'><a href="Mir/Utils.html" title="Mir::Utils (module)">Utils</a></span>
98
+
99
+
100
+
101
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Mir/Application.html" title="Mir::Application (class)">Application</a></span>, <span class='object_link'><a href="Mir/Config.html" title="Mir::Config (class)">Config</a></span>, <span class='object_link'><a href="Mir/Index.html" title="Mir::Index (class)">Index</a></span>, <span class='object_link'><a href="Mir/Options.html" title="Mir::Options (class)">Options</a></span>, <span class='object_link'><a href="Mir/UndefinedConfigValue.html" title="Mir::UndefinedConfigValue (class)">UndefinedConfigValue</a></span>
102
+
103
+
104
+ </p>
105
+
106
+ <h2>Constant Summary</h2>
107
+
108
+ <dl class="constants">
109
+
110
+ <dt id="VERSION-constant" class="">VERSION =
111
+
112
+ </dt>
113
+ <dd><pre class="code"><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span><span class='int'>1</span><span class='comma'>,</span><span class='int'>4</span><span class='rbracket'>]</span></pre></dd>
114
+
115
+ </dl>
116
+
117
+
118
+
119
+
120
+
121
+
122
+
123
+ <h2>
124
+ Class Method Summary
125
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
126
+ </h2>
127
+
128
+ <ul class="summary">
129
+
130
+ <li class="public ">
131
+ <span class="summary_signature">
132
+
133
+ <a href="#logger-class_method" title="logger (class method)">+ (Logger) <strong>logger</strong> </a>
134
+
135
+
136
+
137
+ </span>
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+ <span class="summary_desc"><div class='inline'><p>
147
+ Returns the global logger instance.
148
+ </p>
149
+ </div></span>
150
+
151
+ </li>
152
+
153
+
154
+ <li class="public ">
155
+ <span class="summary_signature">
156
+
157
+ <a href="#logger%3D-class_method" title="logger= (class method)">+ (Object) <strong>logger=</strong>(logger) </a>
158
+
159
+
160
+
161
+ </span>
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+ <span class="summary_desc"><div class='inline'><p>
171
+ Assigns a global logger.
172
+ </p>
173
+ </div></span>
174
+
175
+ </li>
176
+
177
+
178
+ <li class="public ">
179
+ <span class="summary_signature">
180
+
181
+ <a href="#version-class_method" title="version (class method)">+ (Object) <strong>version</strong> </a>
182
+
183
+
184
+
185
+ </span>
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+ <span class="summary_desc"><div class='inline'></div></span>
195
+
196
+ </li>
197
+
198
+
199
+ </ul>
200
+
201
+
202
+
203
+
204
+ <div id="class_method_details" class="method_details_list">
205
+ <h2>Class Method Details</h2>
206
+
207
+
208
+ <div class="method_details first">
209
+ <p class="signature first" id="logger-class_method">
210
+
211
+ + (<tt>Logger</tt>) <strong>logger</strong>
212
+
213
+
214
+
215
+ </p><div class="docstring">
216
+ <div class="discussion">
217
+ <p>
218
+ Returns the global logger instance
219
+ </p>
220
+
221
+
222
+ </div>
223
+ </div>
224
+ <div class="tags">
225
+ <h3>Returns:</h3>
226
+ <ul class="return">
227
+
228
+ <li>
229
+
230
+
231
+ <span class='type'>(<tt>Logger</tt>)</span>
232
+
233
+
234
+
235
+ </li>
236
+
237
+ </ul>
238
+
239
+ </div><table class="source_code">
240
+ <tr>
241
+ <td>
242
+ <pre class="lines">
243
+
244
+
245
+ 12
246
+ 13
247
+ 14</pre>
248
+ </td>
249
+ <td>
250
+ <pre class="code"><span class="info file"># File 'lib/mir/logger.rb', line 12</span>
251
+
252
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id logger'>logger</span>
253
+ <span class='cvar'>@@logger</span>
254
+ <span class='kw'>end</span></pre>
255
+ </td>
256
+ </tr>
257
+ </table>
258
+ </div>
259
+
260
+ <div class="method_details ">
261
+ <p class="signature " id="logger=-class_method">
262
+
263
+ + (<tt>Object</tt>) <strong>logger=</strong>(logger)
264
+
265
+
266
+
267
+ </p><div class="docstring">
268
+ <div class="discussion">
269
+ <p>
270
+ Assigns a global logger
271
+ </p>
272
+
273
+
274
+ </div>
275
+ </div>
276
+ <div class="tags">
277
+ <h3>Parameters:</h3>
278
+ <ul class="param">
279
+
280
+ <li>
281
+
282
+ <span class='name'>logger</span>
283
+
284
+
285
+ <span class='type'>(<tt>Logger</tt>)</span>
286
+
287
+
288
+
289
+ </li>
290
+
291
+ </ul>
292
+
293
+ </div><table class="source_code">
294
+ <tr>
295
+ <td>
296
+ <pre class="lines">
297
+
298
+
299
+ 6
300
+ 7
301
+ 8</pre>
302
+ </td>
303
+ <td>
304
+ <pre class="code"><span class="info file"># File 'lib/mir/logger.rb', line 6</span>
305
+
306
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id logger='>logger=</span><span class='lparen'>(</span><span class='id logger'>logger</span><span class='rparen'>)</span>
307
+ <span class='cvar'>@@logger</span> <span class='op'>=</span> <span class='id logger'>logger</span>
308
+ <span class='kw'>end</span></pre>
309
+ </td>
310
+ </tr>
311
+ </table>
312
+ </div>
313
+
314
+ <div class="method_details ">
315
+ <p class="signature " id="version-class_method">
316
+
317
+ + (<tt>Object</tt>) <strong>version</strong>
318
+
319
+
320
+
321
+ </p><table class="source_code">
322
+ <tr>
323
+ <td>
324
+ <pre class="lines">
325
+
326
+
327
+ 4
328
+ 5
329
+ 6</pre>
330
+ </td>
331
+ <td>
332
+ <pre class="code"><span class="info file"># File 'lib/mir/version.rb', line 4</span>
333
+
334
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id version'>version</span>
335
+ <span class='const'>VERSION</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>.</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
336
+ <span class='kw'>end</span></pre>
337
+ </td>
338
+ </tr>
339
+ </table>
340
+ </div>
341
+
342
+ </div>
343
+
344
+ </div>
345
+
346
+ <div id="footer">
347
+ Generated on Fri Sep 23 18:24:38 2011 by
348
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
349
+ 0.7.2 (ruby-1.9.2).
350
+ </div>
351
+
352
+ </body>
353
+ </html>
@@ -0,0 +1,1067 @@
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::Application
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 (A)</a> &raquo;
37
+ <span class='title'><span class='object_link'><a href="../Mir.html" title="Mir (module)">Mir</a></span></span>
38
+ &raquo;
39
+ <span class="title">Application</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::Application
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">Object</span>
70
+
71
+ <ul class="fullTree">
72
+ <li>Object</li>
73
+
74
+ <li class="next">Mir::Application</li>
75
+
76
+ </ul>
77
+ <a href="#" class="inheritanceTree">show all</a>
78
+
79
+ </dd>
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+ <dt class="r2 last">Defined in:</dt>
90
+ <dd class="r2 last">lib/mir/application.rb</dd>
91
+
92
+ </dl>
93
+ <div class="clear"></div>
94
+
95
+
96
+ <h2>Constant Summary</h2>
97
+
98
+ <dl class="constants">
99
+
100
+ <dt id="DEFAULT_SETTINGS_FILE_NAME-constant" class="">DEFAULT_SETTINGS_FILE_NAME =
101
+
102
+ </dt>
103
+ <dd><pre class="code"><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>mir_settings.yml</span><span class='tstring_end'>&quot;</span></span></pre></dd>
104
+
105
+ <dt id="DEFAULT_BATCH_SIZE-constant" class="">DEFAULT_BATCH_SIZE =
106
+
107
+ </dt>
108
+ <dd><pre class="code"><span class='int'>100</span></pre></dd>
109
+
110
+ </dl>
111
+
112
+
113
+
114
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
115
+ <ul class="summary">
116
+
117
+ <li class="public ">
118
+ <span class="summary_signature">
119
+
120
+ <a href="#disk-instance_method" title="#disk (instance method)">- (Object) <strong>disk</strong> </a>
121
+
122
+
123
+
124
+ </span>
125
+
126
+
127
+ <span class="note title readonly">readonly</span>
128
+
129
+
130
+
131
+
132
+
133
+
134
+
135
+
136
+ <span class="summary_desc"><div class='inline'><p>
137
+ Returns the value of attribute disk.
138
+ </p>
139
+ </div></span>
140
+
141
+ </li>
142
+
143
+
144
+ <li class="public ">
145
+ <span class="summary_signature">
146
+
147
+ <a href="#index-instance_method" title="#index (instance method)">- (Object) <strong>index</strong> </a>
148
+
149
+
150
+
151
+ </span>
152
+
153
+
154
+ <span class="note title readonly">readonly</span>
155
+
156
+
157
+
158
+
159
+
160
+
161
+
162
+
163
+ <span class="summary_desc"><div class='inline'><p>
164
+ Returns the value of attribute index.
165
+ </p>
166
+ </div></span>
167
+
168
+ </li>
169
+
170
+
171
+ <li class="public ">
172
+ <span class="summary_signature">
173
+
174
+ <a href="#options-instance_method" title="#options (instance method)">- (Object) <strong>options</strong> </a>
175
+
176
+
177
+
178
+ </span>
179
+
180
+
181
+ <span class="note title readonly">readonly</span>
182
+
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+ <span class="summary_desc"><div class='inline'><p>
191
+ Returns the value of attribute options.
192
+ </p>
193
+ </div></span>
194
+
195
+ </li>
196
+
197
+
198
+ </ul>
199
+
200
+
201
+
202
+
203
+
204
+ <h2>
205
+ Class Method Summary
206
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
207
+ </h2>
208
+
209
+ <ul class="summary">
210
+
211
+ <li class="public ">
212
+ <span class="summary_signature">
213
+
214
+ <a href="#config-class_method" title="config (class method)">+ (Mir::Config) <strong>config</strong> </a>
215
+
216
+
217
+
218
+ </span>
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+ <span class="summary_desc"><div class='inline'><p>
228
+ Returns a global configuration instance.
229
+ </p>
230
+ </div></span>
231
+
232
+ </li>
233
+
234
+
235
+ <li class="public ">
236
+ <span class="summary_signature">
237
+
238
+ <a href="#start-class_method" title="start (class method)">+ (void) <strong>start</strong> </a>
239
+
240
+
241
+
242
+ </span>
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+ <span class="summary_desc"><div class='inline'><p>
252
+ Creates a new Mir instance and starts the main execution thread.
253
+ </p>
254
+ </div></span>
255
+
256
+ </li>
257
+
258
+
259
+ </ul>
260
+
261
+ <h2>
262
+ Instance Method Summary
263
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
264
+ </h2>
265
+
266
+ <ul class="summary">
267
+
268
+ <li class="public ">
269
+ <span class="summary_signature">
270
+
271
+ <a href="#config-instance_method" title="#config (instance method)">- (Object) <strong>config</strong> </a>
272
+
273
+
274
+
275
+ </span>
276
+
277
+
278
+
279
+
280
+
281
+
282
+
283
+
284
+ <span class="summary_desc"><div class='inline'><p>
285
+ Alias for +config.
286
+ </p>
287
+ </div></span>
288
+
289
+ </li>
290
+
291
+
292
+ <li class="public ">
293
+ <span class="summary_signature">
294
+
295
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Mir::Application) <strong>initialize</strong> </a>
296
+
297
+
298
+
299
+ </span>
300
+
301
+ <span class="note title constructor">constructor</span>
302
+
303
+
304
+
305
+
306
+
307
+
308
+
309
+
310
+ <span class="summary_desc"><div class='inline'><p>
311
+ Creates a new Mir instance.
312
+ </p>
313
+ </div></span>
314
+
315
+ </li>
316
+
317
+
318
+ <li class="public ">
319
+ <span class="summary_signature">
320
+
321
+ <a href="#pull-instance_method" title="#pull (instance method)">- (void) <strong>pull</strong>(target) </a>
322
+
323
+
324
+
325
+ </span>
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+ <span class="summary_desc"><div class='inline'><p>
335
+ Copy the remote disk contents into the specified directory.
336
+ </p>
337
+ </div></span>
338
+
339
+ </li>
340
+
341
+
342
+ <li class="public ">
343
+ <span class="summary_signature">
344
+
345
+ <a href="#push-instance_method" title="#push (instance method)">- (void) <strong>push</strong>(target) </a>
346
+
347
+
348
+
349
+ </span>
350
+
351
+
352
+
353
+
354
+
355
+
356
+
357
+
358
+ <span class="summary_desc"><div class='inline'><p>
359
+ Synchronize the target directory to the remote disk.
360
+ </p>
361
+ </div></span>
362
+
363
+ </li>
364
+
365
+
366
+ <li class="public ">
367
+ <span class="summary_signature">
368
+
369
+ <a href="#start-instance_method" title="#start (instance method)">- (void) <strong>start</strong> </a>
370
+
371
+
372
+
373
+ </span>
374
+
375
+
376
+
377
+
378
+
379
+
380
+
381
+
382
+ <span class="summary_desc"><div class='inline'><p>
383
+ Begins the synchronization operation after initializing the file index and
384
+ remote storage container.
385
+ </p>
386
+ </div></span>
387
+
388
+ </li>
389
+
390
+
391
+ </ul>
392
+
393
+
394
+ <div id="constructor_details" class="method_details_list">
395
+ <h2>Constructor Details</h2>
396
+
397
+ <div class="method_details first">
398
+ <p class="signature first" id="initialize-instance_method">
399
+
400
+ - (<tt><span class='object_link'><a href="" title="Mir::Application (class)">Mir::Application</a></span></tt>) <strong>initialize</strong>
401
+
402
+
403
+
404
+ </p><div class="docstring">
405
+ <div class="discussion">
406
+ <p>
407
+ Creates a new Mir instance. Parses any command line arguments provided to
408
+ the application
409
+ </p>
410
+
411
+
412
+ </div>
413
+ </div>
414
+ <div class="tags">
415
+
416
+ </div><table class="source_code">
417
+ <tr>
418
+ <td>
419
+ <pre class="lines">
420
+
421
+
422
+ 22
423
+ 23
424
+ 24
425
+ 25
426
+ 26
427
+ 27
428
+ 28
429
+ 29
430
+ 30</pre>
431
+ </td>
432
+ <td>
433
+ <pre class="code"><span class="info file"># File 'lib/mir/application.rb', line 22</span>
434
+
435
+ <span class='kw'>def</span> <span class='id initialize'>initialize</span>
436
+ <span class='ivar'>@options</span> <span class='op'>=</span> <span class='const'>Mir</span><span class='op'>::</span><span class='const'>Options</span><span class='period'>.</span><span class='id parse'>parse</span><span class='lparen'>(</span><span class='const'>ARGV</span><span class='rparen'>)</span>
437
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span> <span class='op'>=</span> <span class='const'>Logger</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id options'>options</span><span class='period'>.</span><span class='id log_destination'>log_destination</span><span class='rparen'>)</span>
438
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id level'>level</span> <span class='op'>=</span> <span class='kw'>if</span> <span class='id options'>options</span><span class='period'>.</span><span class='id debug'>debug</span>
439
+ <span class='const'>Logger</span><span class='op'>::</span><span class='const'>DEBUG</span>
440
+ <span class='kw'>else</span>
441
+ <span class='const'>Logger</span><span class='op'>::</span><span class='const'>ERROR</span>
442
+ <span class='kw'>end</span>
443
+ <span class='kw'>end</span></pre>
444
+ </td>
445
+ </tr>
446
+ </table>
447
+ </div>
448
+
449
+ </div>
450
+
451
+ <div id="instance_attr_details" class="attr_details">
452
+ <h2>Instance Attribute Details</h2>
453
+
454
+
455
+ <span id=""></span>
456
+ <span id="disk-instance_method"></span>
457
+ <div class="method_details first">
458
+ <p class="signature first" id="disk-instance_method">
459
+
460
+ - (<tt>Object</tt>) <strong>disk</strong> <span class="extras">(readonly)</span>
461
+
462
+
463
+
464
+ </p><div class="docstring">
465
+ <div class="discussion">
466
+ <p>
467
+ Returns the value of attribute disk
468
+ </p>
469
+
470
+
471
+ </div>
472
+ </div>
473
+ <div class="tags">
474
+
475
+ </div><table class="source_code">
476
+ <tr>
477
+ <td>
478
+ <pre class="lines">
479
+
480
+
481
+ 18
482
+ 19
483
+ 20</pre>
484
+ </td>
485
+ <td>
486
+ <pre class="code"><span class="info file"># File 'lib/mir/application.rb', line 18</span>
487
+
488
+ <span class='kw'>def</span> <span class='id disk'>disk</span>
489
+ <span class='ivar'>@disk</span>
490
+ <span class='kw'>end</span></pre>
491
+ </td>
492
+ </tr>
493
+ </table>
494
+ </div>
495
+
496
+
497
+ <span id=""></span>
498
+ <span id="index-instance_method"></span>
499
+ <div class="method_details ">
500
+ <p class="signature " id="index-instance_method">
501
+
502
+ - (<tt>Object</tt>) <strong>index</strong> <span class="extras">(readonly)</span>
503
+
504
+
505
+
506
+ </p><div class="docstring">
507
+ <div class="discussion">
508
+ <p>
509
+ Returns the value of attribute index
510
+ </p>
511
+
512
+
513
+ </div>
514
+ </div>
515
+ <div class="tags">
516
+
517
+ </div><table class="source_code">
518
+ <tr>
519
+ <td>
520
+ <pre class="lines">
521
+
522
+
523
+ 18
524
+ 19
525
+ 20</pre>
526
+ </td>
527
+ <td>
528
+ <pre class="code"><span class="info file"># File 'lib/mir/application.rb', line 18</span>
529
+
530
+ <span class='kw'>def</span> <span class='id index'>index</span>
531
+ <span class='ivar'>@index</span>
532
+ <span class='kw'>end</span></pre>
533
+ </td>
534
+ </tr>
535
+ </table>
536
+ </div>
537
+
538
+
539
+ <span id=""></span>
540
+ <span id="options-instance_method"></span>
541
+ <div class="method_details ">
542
+ <p class="signature " id="options-instance_method">
543
+
544
+ - (<tt>Object</tt>) <strong>options</strong> <span class="extras">(readonly)</span>
545
+
546
+
547
+
548
+ </p><div class="docstring">
549
+ <div class="discussion">
550
+ <p>
551
+ Returns the value of attribute options
552
+ </p>
553
+
554
+
555
+ </div>
556
+ </div>
557
+ <div class="tags">
558
+
559
+ </div><table class="source_code">
560
+ <tr>
561
+ <td>
562
+ <pre class="lines">
563
+
564
+
565
+ 18
566
+ 19
567
+ 20</pre>
568
+ </td>
569
+ <td>
570
+ <pre class="code"><span class="info file"># File 'lib/mir/application.rb', line 18</span>
571
+
572
+ <span class='kw'>def</span> <span class='id options'>options</span>
573
+ <span class='ivar'>@options</span>
574
+ <span class='kw'>end</span></pre>
575
+ </td>
576
+ </tr>
577
+ </table>
578
+ </div>
579
+
580
+ </div>
581
+
582
+
583
+ <div id="class_method_details" class="method_details_list">
584
+ <h2>Class Method Details</h2>
585
+
586
+
587
+ <div class="method_details first">
588
+ <p class="signature first" id="config-class_method">
589
+
590
+ + (<tt><span class='object_link'><a href="Config.html" title="Mir::Config (class)">Mir::Config</a></span></tt>) <strong>config</strong>
591
+
592
+
593
+
594
+ </p><div class="docstring">
595
+ <div class="discussion">
596
+ <p>
597
+ Returns a global configuration instance
598
+ </p>
599
+
600
+
601
+ </div>
602
+ </div>
603
+ <div class="tags">
604
+ <h3>Returns:</h3>
605
+ <ul class="return">
606
+
607
+ <li>
608
+
609
+
610
+ <span class='type'>(<tt><span class='object_link'><a href="Config.html" title="Mir::Config (class)">Mir::Config</a></span></tt>)</span>
611
+
612
+
613
+
614
+ </li>
615
+
616
+ </ul>
617
+
618
+ </div><table class="source_code">
619
+ <tr>
620
+ <td>
621
+ <pre class="lines">
622
+
623
+
624
+ 61
625
+ 62
626
+ 63</pre>
627
+ </td>
628
+ <td>
629
+ <pre class="code"><span class="info file"># File 'lib/mir/application.rb', line 61</span>
630
+
631
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id config'>config</span>
632
+ <span class='cvar'>@@config</span>
633
+ <span class='kw'>end</span></pre>
634
+ </td>
635
+ </tr>
636
+ </table>
637
+ </div>
638
+
639
+ <div class="method_details ">
640
+ <p class="signature " id="start-class_method">
641
+
642
+ + (<tt>void</tt>) <strong>start</strong>
643
+
644
+
645
+
646
+ </p><div class="docstring">
647
+ <div class="discussion">
648
+ <p class="note returns_void">This method returns an undefined value.</p><p>
649
+ Creates a new Mir instance and starts the main execution thread
650
+ </p>
651
+
652
+
653
+ </div>
654
+ </div>
655
+ <div class="tags">
656
+
657
+ </div><table class="source_code">
658
+ <tr>
659
+ <td>
660
+ <pre class="lines">
661
+
662
+
663
+ 14
664
+ 15
665
+ 16</pre>
666
+ </td>
667
+ <td>
668
+ <pre class="code"><span class="info file"># File 'lib/mir/application.rb', line 14</span>
669
+
670
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id start'>start</span>
671
+ <span class='id new'>new</span><span class='period'>.</span><span class='id start'>start</span>
672
+ <span class='kw'>end</span></pre>
673
+ </td>
674
+ </tr>
675
+ </table>
676
+ </div>
677
+
678
+ </div>
679
+
680
+ <div id="instance_method_details" class="method_details_list">
681
+ <h2>Instance Method Details</h2>
682
+
683
+
684
+ <div class="method_details first">
685
+ <p class="signature first" id="config-instance_method">
686
+
687
+ - (<tt>Object</tt>) <strong>config</strong>
688
+
689
+
690
+
691
+ </p><div class="docstring">
692
+ <div class="discussion">
693
+ <p>
694
+ Alias for +config
695
+ </p>
696
+
697
+
698
+ </div>
699
+ </div>
700
+ <div class="tags">
701
+
702
+ </div><table class="source_code">
703
+ <tr>
704
+ <td>
705
+ <pre class="lines">
706
+
707
+
708
+ 67
709
+ 68
710
+ 69</pre>
711
+ </td>
712
+ <td>
713
+ <pre class="code"><span class="info file"># File 'lib/mir/application.rb', line 67</span>
714
+
715
+ <span class='kw'>def</span> <span class='id config'>config</span>
716
+ <span class='kw'>self</span><span class='period'>.</span><span class='id class'>class</span><span class='period'>.</span><span class='id config'>config</span>
717
+ <span class='kw'>end</span></pre>
718
+ </td>
719
+ </tr>
720
+ </table>
721
+ </div>
722
+
723
+ <div class="method_details ">
724
+ <p class="signature " id="pull-instance_method">
725
+
726
+ - (<tt>void</tt>) <strong>pull</strong>(target)
727
+
728
+
729
+
730
+ </p><div class="docstring">
731
+ <div class="discussion">
732
+ <p class="note returns_void">This method returns an undefined value.</p><p>
733
+ Copy the remote disk contents into the specified directory
734
+ </p>
735
+
736
+
737
+ </div>
738
+ </div>
739
+ <div class="tags">
740
+ <h3>Parameters:</h3>
741
+ <ul class="param">
742
+
743
+ <li>
744
+
745
+ <span class='name'>target</span>
746
+
747
+
748
+ <span class='type'>(<tt>String</tt>)</span>
749
+
750
+
751
+
752
+ &mdash;
753
+ <div class='inline'><p>
754
+ the absolute path to the destination of the S3 disk contents
755
+ </p>
756
+ </div>
757
+
758
+ </li>
759
+
760
+ </ul>
761
+
762
+ </div><table class="source_code">
763
+ <tr>
764
+ <td>
765
+ <pre class="lines">
766
+
767
+
768
+ 107
769
+ 108
770
+ 109
771
+ 110
772
+ 111
773
+ 112
774
+ 113
775
+ 114
776
+ 115
777
+ 116
778
+ 117
779
+ 118
780
+ 119
781
+ 120
782
+ 121
783
+ 122
784
+ 123
785
+ 124
786
+ 125
787
+ 126
788
+ 127
789
+ 128
790
+ 129
791
+ 130
792
+ 131
793
+ 132
794
+ 133
795
+ 134
796
+ 135
797
+ 136
798
+ 137
799
+ 138
800
+ 139
801
+ 140
802
+ 141
803
+ 142
804
+ 143
805
+ 144
806
+ 145
807
+ 146
808
+ 147
809
+ 148
810
+ 149
811
+ 150
812
+ 151
813
+ 152
814
+ 153
815
+ 154
816
+ 155</pre>
817
+ </td>
818
+ <td>
819
+ <pre class="code"><span class="info file"># File 'lib/mir/application.rb', line 107</span>
820
+
821
+ <span class='kw'>def</span> <span class='id pull'>pull</span><span class='lparen'>(</span><span class='id target'>target</span><span class='rparen'>)</span>
822
+ <span class='id write_dir'>write_dir</span> <span class='op'>=</span> <span class='const'>Utils</span><span class='period'>.</span><span class='id try_create_dir'>try_create_dir</span><span class='lparen'>(</span><span class='id target'>target</span><span class='rparen'>)</span>
823
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Copying remote disk to </span><span class='embexpr_beg'>#{</span><span class='id write_dir'>write_dir</span><span class='period'>.</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_content'> using </span><span class='embexpr_beg'>#{</span><span class='id config'>config</span><span class='period'>.</span><span class='id max_threads'>max_threads</span><span class='rbrace'>}</span><span class='tstring_content'> threads</span><span class='tstring_end'>&quot;</span></span>
824
+ <span class='id failed_downloads'>failed_downloads</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
825
+
826
+ <span class='id time'>time</span> <span class='op'>=</span> <span class='const'>Benchmark</span><span class='period'>.</span><span class='id measure'>measure</span> <span class='kw'>do</span>
827
+ <span class='id queue'>queue</span> <span class='op'>=</span> <span class='const'>WorkQueue</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id config'>config</span><span class='period'>.</span><span class='id max_threads'>max_threads</span><span class='rparen'>)</span>
828
+
829
+ <span class='const'>Models</span><span class='op'>::</span><span class='const'>Resource</span><span class='period'>.</span><span class='id ordered_groups'>ordered_groups</span><span class='lparen'>(</span><span class='const'>DEFAULT_BATCH_SIZE</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id resources'>resources</span><span class='op'>|</span>
830
+ <span class='comment'># Track the number of download attempts made per resource
831
+ </span> <span class='id batch'>batch</span> <span class='op'>=</span> <span class='id resources'>resources</span><span class='period'>.</span><span class='id inject'>inject</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id set'>set</span><span class='comma'>,</span> <span class='id resource'>resource</span><span class='op'>|</span> <span class='id set'>set</span><span class='lbracket'>[</span><span class='id resource'>resource</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='int'>0</span><span class='semicolon'>;</span> <span class='id set'>set</span> <span class='rbrace'>}</span>
832
+
833
+ <span class='kw'>while</span> <span class='op'>!</span><span class='id batch'>batch</span><span class='period'>.</span><span class='id empty?'>empty?</span> <span class='kw'>do</span>
834
+ <span class='id batch'>batch</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id resource'>resource</span><span class='comma'>,</span> <span class='id attempts'>attempts</span><span class='op'>|</span>
835
+ <span class='id dest'>dest</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='id write_dir'>write_dir</span><span class='period'>.</span><span class='id path'>path</span><span class='comma'>,</span> <span class='id resource'>resource</span><span class='period'>.</span><span class='id filename'>filename</span><span class='rparen'>)</span>
836
+ <span class='kw'>if</span> <span class='id resource'>resource</span><span class='period'>.</span><span class='id is_directory?'>is_directory?</span>
837
+ <span class='const'>Utils</span><span class='period'>.</span><span class='id try_create_dir'>try_create_dir</span><span class='lparen'>(</span><span class='id dest'>dest</span><span class='rparen'>)</span>
838
+ <span class='id batch'>batch</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id resource'>resource</span><span class='rparen'>)</span>
839
+ <span class='kw'>elsif</span> <span class='id attempts'>attempts</span> <span class='op'>&gt;=</span> <span class='id config'>config</span><span class='period'>.</span><span class='id max_download_attempts'>max_download_attempts</span>
840
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Resource </span><span class='embexpr_beg'>#{</span><span class='id resource'>resource</span><span class='period'>.</span><span class='id abs_path'>abs_path</span><span class='rbrace'>}</span><span class='tstring_content'> failed to download</span><span class='tstring_end'>&quot;</span></span>
841
+ <span class='id failed_downloads'>failed_downloads</span> <span class='op'>&lt;&lt;</span> <span class='id resource'>resource</span>
842
+ <span class='id batch'>batch</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id resource'>resource</span><span class='rparen'>)</span>
843
+ <span class='kw'>elsif</span> <span class='id resource'>resource</span><span class='period'>.</span><span class='id synchronized?'>synchronized?</span> <span class='id dest'>dest</span>
844
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Skipping already downloaded file </span><span class='embexpr_beg'>#{</span><span class='id resource'>resource</span><span class='period'>.</span><span class='id abs_path'>abs_path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
845
+ <span class='id batch'>batch</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id resource'>resource</span><span class='rparen'>)</span>
846
+ <span class='kw'>else</span>
847
+ <span class='id batch'>batch</span><span class='lbracket'>[</span><span class='id resource'>resource</span><span class='rbracket'>]</span> <span class='op'>+=</span> <span class='int'>1</span>
848
+ <span class='id queue'>queue</span><span class='period'>.</span><span class='id enqueue_b'>enqueue_b</span> <span class='kw'>do</span>
849
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id debug'>debug</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Beginning download of </span><span class='embexpr_beg'>#{</span><span class='id resource'>resource</span><span class='period'>.</span><span class='id abs_path'>abs_path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
850
+ <span class='id disk'>disk</span><span class='period'>.</span><span class='id copy'>copy</span><span class='lparen'>(</span><span class='id resource'>resource</span><span class='period'>.</span><span class='id abs_path'>abs_path</span><span class='comma'>,</span> <span class='id dest'>dest</span><span class='rparen'>)</span>
851
+ <span class='kw'>if</span> <span class='id resource'>resource</span><span class='period'>.</span><span class='id synchronized?'>synchronized?</span> <span class='id dest'>dest</span>
852
+ <span class='const'>FileUtils</span><span class='period'>.</span><span class='id chmod_R'>chmod_R</span> <span class='int'>0755</span><span class='comma'>,</span> <span class='id dest'>dest</span> <span class='comment'># allow binaries to execute
853
+ </span> <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Pulled </span><span class='embexpr_beg'>#{</span><span class='id dest'>dest</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
854
+ <span class='id batch'>batch</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id resource'>resource</span><span class='rparen'>)</span>
855
+ <span class='kw'>end</span>
856
+ <span class='kw'>end</span>
857
+ <span class='kw'>end</span>
858
+ <span class='kw'>end</span>
859
+ <span class='id queue'>queue</span><span class='period'>.</span><span class='id join'>join</span>
860
+ <span class='kw'>end</span>
861
+ <span class='kw'>end</span>
862
+ <span class='kw'>end</span>
863
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id info'>info</span> <span class='id time'>time</span>
864
+ <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Completed pull operation </span><span class='embexpr_beg'>#{</span><span class='id time'>time</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
865
+ <span class='kw'>unless</span> <span class='id failed_downloads'>failed_downloads</span><span class='period'>.</span><span class='id empty?'>empty?</span>
866
+ <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>The following files failed to download after several attempts:\n}</span><span class='tstring_end'>&quot;</span></span>
867
+ <span class='id puts'>puts</span> <span class='id failed_downloads'>failed_downloads</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>\n</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
868
+ <span class='kw'>end</span>
869
+ <span class='kw'>end</span></pre>
870
+ </td>
871
+ </tr>
872
+ </table>
873
+ </div>
874
+
875
+ <div class="method_details ">
876
+ <p class="signature " id="push-instance_method">
877
+
878
+ - (<tt>void</tt>) <strong>push</strong>(target)
879
+
880
+
881
+
882
+ </p><div class="docstring">
883
+ <div class="discussion">
884
+ <p class="note returns_void">This method returns an undefined value.</p><p>
885
+ Synchronize the target directory to the remote disk. Will create a file
886
+ index if one does not already exist
887
+ </p>
888
+
889
+
890
+ </div>
891
+ </div>
892
+ <div class="tags">
893
+ <h3>Parameters:</h3>
894
+ <ul class="param">
895
+
896
+ <li>
897
+
898
+ <span class='name'>target</span>
899
+
900
+
901
+ <span class='type'>(<tt>String</tt>)</span>
902
+
903
+
904
+
905
+ &mdash;
906
+ <div class='inline'><p>
907
+ the absolute path of the folder that will be synchronized remotely
908
+ </p>
909
+ </div>
910
+
911
+ </li>
912
+
913
+ </ul>
914
+
915
+ </div><table class="source_code">
916
+ <tr>
917
+ <td>
918
+ <pre class="lines">
919
+
920
+
921
+ 76
922
+ 77
923
+ 78
924
+ 79
925
+ 80
926
+ 81
927
+ 82
928
+ 83
929
+ 84
930
+ 85
931
+ 86
932
+ 87
933
+ 88
934
+ 89
935
+ 90
936
+ 91
937
+ 92
938
+ 93
939
+ 94
940
+ 95
941
+ 96
942
+ 97
943
+ 98
944
+ 99
945
+ 100
946
+ 101</pre>
947
+ </td>
948
+ <td>
949
+ <pre class="code"><span class="info file"># File 'lib/mir/application.rb', line 76</span>
950
+
951
+ <span class='kw'>def</span> <span class='id push'>push</span><span class='lparen'>(</span><span class='id target'>target</span><span class='rparen'>)</span>
952
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id info'>info</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Starting push operation</span><span class='tstring_end'>&quot;</span></span>
953
+
954
+ <span class='kw'>if</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='op'>!=</span> <span class='id target'>target</span>
955
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id error'>error</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Target does not match directory stored in index</span><span class='tstring_end'>&quot;</span></span>
956
+ <span class='id exit'>exit</span>
957
+ <span class='kw'>end</span>
958
+
959
+ <span class='id index'>index</span><span class='period'>.</span><span class='id update'>update</span>
960
+
961
+ <span class='id time'>time</span> <span class='op'>=</span> <span class='const'>Benchmark</span><span class='period'>.</span><span class='id measure'>measure</span> <span class='kw'>do</span>
962
+ <span class='id queue'>queue</span> <span class='op'>=</span> <span class='const'>WorkQueue</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id config'>config</span><span class='period'>.</span><span class='id max_threads'>max_threads</span><span class='rparen'>)</span>
963
+ <span class='kw'>while</span> <span class='const'>Models</span><span class='op'>::</span><span class='const'>Resource</span><span class='period'>.</span><span class='id pending_jobs?'>pending_jobs?</span> <span class='kw'>do</span>
964
+ <span class='const'>Models</span><span class='op'>::</span><span class='const'>Resource</span><span class='period'>.</span><span class='id pending_sync_groups'>pending_sync_groups</span><span class='lparen'>(</span><span class='const'>DEFAULT_BATCH_SIZE</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id resources'>resources</span><span class='op'>|</span>
965
+ <span class='id push_group'>push_group</span><span class='lparen'>(</span><span class='id queue'>queue</span><span class='comma'>,</span> <span class='id resources'>resources</span><span class='rparen'>)</span>
966
+ <span class='id handle_push_failures'>handle_push_failures</span><span class='lparen'>(</span><span class='id resources'>resources</span><span class='rparen'>)</span>
967
+ <span class='kw'>end</span>
968
+ <span class='kw'>end</span>
969
+ <span class='kw'>end</span>
970
+
971
+ <span class='comment'># If any assets have been deleted locally, also remove them from remote disk
972
+ </span> <span class='id index'>index</span><span class='period'>.</span><span class='id orphans'>orphans</span><span class='period'>.</span><span class='id each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id orphan'>orphan</span><span class='op'>|</span> <span class='id disk'>disk</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id orphan'>orphan</span><span class='period'>.</span><span class='id abs_path'>abs_path</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
973
+ <span class='id index'>index</span><span class='period'>.</span><span class='id clean!'>clean!</span> <span class='comment'># Remove orphans from index
974
+ </span> <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Completed push operation </span><span class='embexpr_beg'>#{</span><span class='id time'>time</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
975
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id info'>info</span> <span class='id time'>time</span>
976
+ <span class='kw'>end</span></pre>
977
+ </td>
978
+ </tr>
979
+ </table>
980
+ </div>
981
+
982
+ <div class="method_details ">
983
+ <p class="signature " id="start-instance_method">
984
+
985
+ - (<tt>void</tt>) <strong>start</strong>
986
+
987
+
988
+
989
+ </p><div class="docstring">
990
+ <div class="discussion">
991
+ <p class="note returns_void">This method returns an undefined value.</p><p>
992
+ Begins the synchronization operation after initializing the file index and
993
+ remote storage container
994
+ </p>
995
+
996
+
997
+ </div>
998
+ </div>
999
+ <div class="tags">
1000
+
1001
+ </div><table class="source_code">
1002
+ <tr>
1003
+ <td>
1004
+ <pre class="lines">
1005
+
1006
+
1007
+ 36
1008
+ 37
1009
+ 38
1010
+ 39
1011
+ 40
1012
+ 41
1013
+ 42
1014
+ 43
1015
+ 44
1016
+ 45
1017
+ 46
1018
+ 47
1019
+ 48
1020
+ 49
1021
+ 50
1022
+ 51
1023
+ 52
1024
+ 53
1025
+ 54
1026
+ 55</pre>
1027
+ </td>
1028
+ <td>
1029
+ <pre class="code"><span class="info file"># File 'lib/mir/application.rb', line 36</span>
1030
+
1031
+ <span class='kw'>def</span> <span class='id start'>start</span>
1032
+ <span class='kw'>if</span> <span class='id options'>options</span><span class='period'>.</span><span class='id copy'>copy</span> <span class='op'>&amp;&amp;</span> <span class='id options'>options</span><span class='period'>.</span><span class='id flush'>flush</span>
1033
+ <span class='const'>Mir</span><span class='period'>.</span><span class='id logger'>logger</span><span class='period'>.</span><span class='id error'>error</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Conflicting options: Cannot copy from remote source with an empty file index</span><span class='tstring_end'>&quot;</span></span>
1034
+ <span class='id exit'>exit</span>
1035
+ <span class='kw'>end</span>
1036
+
1037
+ <span class='cvar'>@@config</span> <span class='op'>=</span> <span class='const'>Config</span><span class='period'>.</span><span class='id new'>new</span> <span class='id find_settings_file'>find_settings_file</span>
1038
+ <span class='id param_path'>param_path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id expand_path'>expand_path</span><span class='lparen'>(</span><span class='const'>ARGV</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rparen'>)</span>
1039
+ <span class='id exit'>exit</span> <span class='kw'>unless</span> <span class='id config'>config</span><span class='period'>.</span><span class='id valid?'>valid?</span>
1040
+
1041
+ <span class='comment'># Initialize our remote disk
1042
+ </span> <span class='ivar'>@disk</span> <span class='op'>=</span> <span class='const'>Disk</span><span class='period'>.</span><span class='id fetch'>fetch</span><span class='lparen'>(</span><span class='id config'>config</span><span class='period'>.</span><span class='id cloud_provider'>cloud_provider</span><span class='rparen'>)</span>
1043
+ <span class='id exit'>exit</span> <span class='kw'>unless</span> <span class='ivar'>@disk</span><span class='period'>.</span><span class='id connected?'>connected?</span>
1044
+
1045
+ <span class='comment'># Initialize our local index
1046
+ </span> <span class='ivar'>@index</span> <span class='op'>=</span> <span class='const'>Index</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id param_path'>param_path</span><span class='comma'>,</span> <span class='id config'>config</span><span class='period'>.</span><span class='id database'>database</span><span class='rparen'>)</span>
1047
+ <span class='ivar'>@index</span><span class='period'>.</span><span class='id setup'>setup</span><span class='lparen'>(</span><span class='symbol'>:verbose</span> <span class='op'>=&gt;</span> <span class='id options'>options</span><span class='period'>.</span><span class='id verbose'>verbose</span><span class='comma'>,</span> <span class='symbol'>:force_flush</span> <span class='op'>=&gt;</span> <span class='id options'>options</span><span class='period'>.</span><span class='id flush'>flush</span><span class='rparen'>)</span>
1048
+
1049
+ <span class='id options'>options</span><span class='period'>.</span><span class='id copy'>copy</span> <span class='op'>?</span> <span class='id pull'>pull</span><span class='lparen'>(</span><span class='id param_path'>param_path</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id push'>push</span><span class='lparen'>(</span><span class='id param_path'>param_path</span><span class='rparen'>)</span>
1050
+ <span class='kw'>end</span></pre>
1051
+ </td>
1052
+ </tr>
1053
+ </table>
1054
+ </div>
1055
+
1056
+ </div>
1057
+
1058
+ </div>
1059
+
1060
+ <div id="footer">
1061
+ Generated on Fri Sep 23 18:24:38 2011 by
1062
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1063
+ 0.7.2 (ruby-1.9.2).
1064
+ </div>
1065
+
1066
+ </body>
1067
+ </html>