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,660 @@
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::Config
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 (C)</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">Config</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::Config
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::Config</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/config.rb</dd>
91
+
92
+ </dl>
93
+ <div class="clear"></div>
94
+
95
+
96
+
97
+ <h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
98
+ <ul class="summary">
99
+
100
+ <li class="public ">
101
+ <span class="summary_signature">
102
+
103
+ <a href="#max_download_attempts-instance_method" title="#max_download_attempts (instance method)">- (Object) <strong>max_download_attempts</strong> </a>
104
+
105
+
106
+
107
+ </span>
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+ <span class="summary_desc"><div class='inline'><p>
120
+ Returns the value of attribute max_download_attempts.
121
+ </p>
122
+ </div></span>
123
+
124
+ </li>
125
+
126
+
127
+ <li class="public ">
128
+ <span class="summary_signature">
129
+
130
+ <a href="#max_threads-instance_method" title="#max_threads (instance method)">- (Object) <strong>max_threads</strong> </a>
131
+
132
+
133
+
134
+ </span>
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+ <span class="summary_desc"><div class='inline'><p>
147
+ Returns the value of attribute max_threads.
148
+ </p>
149
+ </div></span>
150
+
151
+ </li>
152
+
153
+
154
+ <li class="public ">
155
+ <span class="summary_signature">
156
+
157
+ <a href="#max_upload_attempts-instance_method" title="#max_upload_attempts (instance method)">- (Object) <strong>max_upload_attempts</strong> </a>
158
+
159
+
160
+
161
+ </span>
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+
171
+
172
+
173
+ <span class="summary_desc"><div class='inline'><p>
174
+ Returns the value of attribute max_upload_attempts.
175
+ </p>
176
+ </div></span>
177
+
178
+ </li>
179
+
180
+
181
+ </ul>
182
+
183
+
184
+
185
+
186
+
187
+ <h2>
188
+ Instance Method Summary
189
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
190
+ </h2>
191
+
192
+ <ul class="summary">
193
+
194
+ <li class="public ">
195
+ <span class="summary_signature">
196
+
197
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Mir::Config) <strong>initialize</strong>(config_file = nil) {|Mir::Config| ... }</a>
198
+
199
+
200
+
201
+ </span>
202
+
203
+ <span class="note title constructor">constructor</span>
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+ <span class="summary_desc"><div class='inline'><p>
213
+ Creates a new config instance.
214
+ </p>
215
+ </div></span>
216
+
217
+ </li>
218
+
219
+
220
+ <li class="public ">
221
+ <span class="summary_signature">
222
+
223
+ <a href="#method_missing-instance_method" title="#method_missing (instance method)">- (Object) <strong>method_missing</strong>(meth, *args, &amp;block) </a>
224
+
225
+
226
+
227
+ </span>
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+
236
+ <span class="summary_desc"><div class='inline'></div></span>
237
+
238
+ </li>
239
+
240
+
241
+ <li class="public ">
242
+ <span class="summary_signature">
243
+
244
+ <a href="#valid%3F-instance_method" title="#valid? (instance method)">- (Boolean) <strong>valid?</strong> </a>
245
+
246
+
247
+
248
+ </span>
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+ <span class="summary_desc"><div class='inline'><p>
258
+ Validates configuration settings.
259
+ </p>
260
+ </div></span>
261
+
262
+ </li>
263
+
264
+
265
+ </ul>
266
+
267
+
268
+ <div id="constructor_details" class="method_details_list">
269
+ <h2>Constructor Details</h2>
270
+
271
+ <div class="method_details first">
272
+ <p class="signature first" id="initialize-instance_method">
273
+
274
+ - (<tt><span class='object_link'><a href="" title="Mir::Config (class)">Mir::Config</a></span></tt>) <strong>initialize</strong>(config_file = nil) {|Mir::Config| ... }
275
+
276
+
277
+
278
+ </p><div class="docstring">
279
+ <div class="discussion">
280
+ <p>
281
+ Creates a new config instance
282
+ </p>
283
+
284
+
285
+ </div>
286
+ </div>
287
+ <div class="tags">
288
+ <h3>Parameters:</h3>
289
+ <ul class="param">
290
+
291
+ <li>
292
+
293
+ <span class='name'>config_file</span>
294
+
295
+
296
+ <span class='type'>(<tt>String</tt>)</span>
297
+
298
+
299
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
300
+
301
+
302
+ &mdash;
303
+ <div class='inline'><p>
304
+ path to the configuration file
305
+ </p>
306
+ </div>
307
+
308
+ </li>
309
+
310
+ </ul>
311
+ <h3>Yields:</h3>
312
+ <ul class="yield">
313
+
314
+ <li>
315
+
316
+
317
+ <span class='type'>(<tt><span class='object_link'><a href="" title="Mir::Config (class)">Mir::Config</a></span></tt>)</span>
318
+
319
+
320
+
321
+ </li>
322
+
323
+ </ul>
324
+
325
+ </div><table class="source_code">
326
+ <tr>
327
+ <td>
328
+ <pre class="lines">
329
+
330
+
331
+ 12
332
+ 13
333
+ 14
334
+ 15
335
+ 16
336
+ 17
337
+ 18
338
+ 19
339
+ 20
340
+ 21</pre>
341
+ </td>
342
+ <td>
343
+ <pre class="code"><span class="info file"># File 'lib/mir/config.rb', line 12</span>
344
+
345
+ <span class='kw'>def</span> <span class='id initialize'>initialize</span><span class='lparen'>(</span><span class='id config_file'>config_file</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
346
+ <span class='ivar'>@config_file</span> <span class='op'>=</span> <span class='id config_file'>config_file</span>
347
+ <span class='ivar'>@settings</span><span class='comma'>,</span> <span class='ivar'>@database</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>nil</span>
348
+
349
+ <span class='kw'>self</span><span class='period'>.</span><span class='id max_upload_attempts'>max_upload_attempts</span> <span class='op'>=</span> <span class='int'>10</span>
350
+ <span class='kw'>self</span><span class='period'>.</span><span class='id max_download_attempts'>max_download_attempts</span> <span class='op'>=</span> <span class='int'>10</span>
351
+ <span class='kw'>self</span><span class='period'>.</span><span class='id max_threads'>max_threads</span> <span class='op'>=</span> <span class='int'>5</span>
352
+
353
+ <span class='kw'>yield</span> <span class='kw'>self</span> <span class='kw'>if</span> <span class='id block_given?'>block_given?</span>
354
+ <span class='kw'>end</span></pre>
355
+ </td>
356
+ </tr>
357
+ </table>
358
+ </div>
359
+
360
+ </div>
361
+ <div id="method_missing_details" class="method_details_list">
362
+ <h2>Dynamic Method Handling</h2>
363
+ <p class="notice this">
364
+ This class handles dynamic methods through the <tt>method_missing</tt> method
365
+
366
+ </p>
367
+
368
+ <div class="method_details first">
369
+ <p class="signature first" id="method_missing-instance_method">
370
+
371
+ - (<tt>Object</tt>) <strong>method_missing</strong>(meth, *args, &amp;block)
372
+
373
+
374
+
375
+ </p><table class="source_code">
376
+ <tr>
377
+ <td>
378
+ <pre class="lines">
379
+
380
+
381
+ 54
382
+ 55
383
+ 56
384
+ 57
385
+ 58
386
+ 59
387
+ 60
388
+ 61</pre>
389
+ </td>
390
+ <td>
391
+ <pre class="code"><span class="info file"># File 'lib/mir/config.rb', line 54</span>
392
+
393
+ <span class='kw'>def</span> <span class='id method_missing'>method_missing</span><span class='lparen'>(</span><span class='id meth'>meth</span><span class='comma'>,</span> <span class='op'>*</span><span class='id args'>args</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id block'>block</span><span class='rparen'>)</span>
394
+ <span class='id val'>val</span> <span class='op'>=</span> <span class='ivar'>@settings</span><span class='period'>.</span><span class='id send'>send</span><span class='lparen'>(</span><span class='id meth'>meth</span><span class='rparen'>)</span>
395
+ <span class='kw'>unless</span> <span class='id val'>val</span><span class='period'>.</span><span class='id nil?'>nil?</span>
396
+ <span class='id val'>val</span>
397
+ <span class='kw'>else</span>
398
+ <span class='id raise'>raise</span> <span class='const'>UndefinedConfigValue</span>
399
+ <span class='kw'>end</span>
400
+ <span class='kw'>end</span></pre>
401
+ </td>
402
+ </tr>
403
+ </table>
404
+ </div>
405
+
406
+ </div>
407
+
408
+ <div id="instance_attr_details" class="attr_details">
409
+ <h2>Instance Attribute Details</h2>
410
+
411
+
412
+ <span id="max_download_attempts=-instance_method"></span>
413
+ <span id="max_download_attempts-instance_method"></span>
414
+ <div class="method_details first">
415
+ <p class="signature first" id="max_download_attempts-instance_method">
416
+
417
+ - (<tt>Object</tt>) <strong>max_download_attempts</strong>
418
+
419
+
420
+
421
+ </p><div class="docstring">
422
+ <div class="discussion">
423
+ <p>
424
+ Returns the value of attribute max_download_attempts
425
+ </p>
426
+
427
+
428
+ </div>
429
+ </div>
430
+ <div class="tags">
431
+
432
+ </div><table class="source_code">
433
+ <tr>
434
+ <td>
435
+ <pre class="lines">
436
+
437
+
438
+ 23
439
+ 24
440
+ 25</pre>
441
+ </td>
442
+ <td>
443
+ <pre class="code"><span class="info file"># File 'lib/mir/config.rb', line 23</span>
444
+
445
+ <span class='kw'>def</span> <span class='id max_download_attempts'>max_download_attempts</span>
446
+ <span class='ivar'>@max_download_attempts</span>
447
+ <span class='kw'>end</span></pre>
448
+ </td>
449
+ </tr>
450
+ </table>
451
+ </div>
452
+
453
+
454
+ <span id="max_threads=-instance_method"></span>
455
+ <span id="max_threads-instance_method"></span>
456
+ <div class="method_details ">
457
+ <p class="signature " id="max_threads-instance_method">
458
+
459
+ - (<tt>Object</tt>) <strong>max_threads</strong>
460
+
461
+
462
+
463
+ </p><div class="docstring">
464
+ <div class="discussion">
465
+ <p>
466
+ Returns the value of attribute max_threads
467
+ </p>
468
+
469
+
470
+ </div>
471
+ </div>
472
+ <div class="tags">
473
+
474
+ </div><table class="source_code">
475
+ <tr>
476
+ <td>
477
+ <pre class="lines">
478
+
479
+
480
+ 23
481
+ 24
482
+ 25</pre>
483
+ </td>
484
+ <td>
485
+ <pre class="code"><span class="info file"># File 'lib/mir/config.rb', line 23</span>
486
+
487
+ <span class='kw'>def</span> <span class='id max_threads'>max_threads</span>
488
+ <span class='ivar'>@max_threads</span>
489
+ <span class='kw'>end</span></pre>
490
+ </td>
491
+ </tr>
492
+ </table>
493
+ </div>
494
+
495
+
496
+ <span id="max_upload_attempts=-instance_method"></span>
497
+ <span id="max_upload_attempts-instance_method"></span>
498
+ <div class="method_details ">
499
+ <p class="signature " id="max_upload_attempts-instance_method">
500
+
501
+ - (<tt>Object</tt>) <strong>max_upload_attempts</strong>
502
+
503
+
504
+
505
+ </p><div class="docstring">
506
+ <div class="discussion">
507
+ <p>
508
+ Returns the value of attribute max_upload_attempts
509
+ </p>
510
+
511
+
512
+ </div>
513
+ </div>
514
+ <div class="tags">
515
+
516
+ </div><table class="source_code">
517
+ <tr>
518
+ <td>
519
+ <pre class="lines">
520
+
521
+
522
+ 23
523
+ 24
524
+ 25</pre>
525
+ </td>
526
+ <td>
527
+ <pre class="code"><span class="info file"># File 'lib/mir/config.rb', line 23</span>
528
+
529
+ <span class='kw'>def</span> <span class='id max_upload_attempts'>max_upload_attempts</span>
530
+ <span class='ivar'>@max_upload_attempts</span>
531
+ <span class='kw'>end</span></pre>
532
+ </td>
533
+ </tr>
534
+ </table>
535
+ </div>
536
+
537
+ </div>
538
+
539
+
540
+ <div id="instance_method_details" class="method_details_list">
541
+ <h2>Instance Method Details</h2>
542
+
543
+
544
+ <div class="method_details first">
545
+ <p class="signature first" id="valid?-instance_method">
546
+
547
+ - (<tt>Boolean</tt>) <strong>valid?</strong>
548
+
549
+
550
+
551
+ </p><div class="docstring">
552
+ <div class="discussion">
553
+
554
+ <div class="note todo">
555
+ <strong>TODO:</strong>
556
+ <div class='inline'><p>
557
+ move this into a class method responsible for parsing the YAML file. We
558
+ shouldn&#8217;t have to explicitly check for a valid object unless the user
559
+ has provided a settings file
560
+ </p>
561
+ </div>
562
+ </div>
563
+
564
+ <p>
565
+ Validates configuration settings
566
+ </p>
567
+
568
+
569
+ </div>
570
+ </div>
571
+ <div class="tags">
572
+ <h3>Returns:</h3>
573
+ <ul class="return">
574
+
575
+ <li>
576
+
577
+
578
+ <span class='type'>(<tt>Boolean</tt>)</span>
579
+
580
+
581
+
582
+ </li>
583
+
584
+ </ul>
585
+
586
+ </div><table class="source_code">
587
+ <tr>
588
+ <td>
589
+ <pre class="lines">
590
+
591
+
592
+ 29
593
+ 30
594
+ 31
595
+ 32
596
+ 33
597
+ 34
598
+ 35
599
+ 36
600
+ 37
601
+ 38
602
+ 39
603
+ 40
604
+ 41
605
+ 42
606
+ 43
607
+ 44
608
+ 45
609
+ 46
610
+ 47
611
+ 48
612
+ 49
613
+ 50
614
+ 51
615
+ 52</pre>
616
+ </td>
617
+ <td>
618
+ <pre class="code"><span class="info file"># File 'lib/mir/config.rb', line 29</span>
619
+
620
+ <span class='kw'>def</span> <span class='id valid?'>valid?</span>
621
+ <span class='kw'>if</span> <span class='ivar'>@config_file</span><span class='period'>.</span><span class='id nil?'>nil?</span> <span class='kw'>or</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='ivar'>@config_file</span><span class='rparen'>)</span>
622
+ <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='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Configuration file not found</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
623
+ <span class='kw'>return</span> <span class='kw'>false</span>
624
+ <span class='kw'>end</span>
625
+
626
+ <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='ivar'>@config_file</span><span class='rparen'>)</span>
627
+ <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='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Received directory instead of settings file</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
628
+ <span class='kw'>return</span> <span class='kw'>false</span>
629
+ <span class='kw'>end</span>
630
+
631
+ <span class='const'>File</span><span class='period'>.</span><span class='id open'>open</span><span class='lparen'>(</span><span class='ivar'>@config_file</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id f'>f</span><span class='op'>|</span>
632
+ <span class='id yml'>yml</span> <span class='op'>=</span> <span class='const'>YAML</span><span class='op'>::</span><span class='id load'>load</span><span class='lparen'>(</span><span class='id f'>f</span><span class='rparen'>)</span>
633
+ <span class='kw'>if</span> <span class='id yml'>yml</span><span class='period'>.</span><span class='id key?'>key?</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>settings</span><span class='tstring_end'>&quot;</span></span>
634
+ <span class='ivar'>@settings</span> <span class='op'>=</span> <span class='const'>OpenStruct</span><span class='period'>.</span><span class='id new'>new</span> <span class='id yml'>yml</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>settings</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
635
+ <span class='ivar'>@settings</span><span class='period'>.</span><span class='id database'>database</span> <span class='op'>=</span> <span class='id symbolize_keys'>symbolize_keys</span><span class='lparen'>(</span><span class='ivar'>@settings</span><span class='period'>.</span><span class='id database'>database</span><span class='rparen'>)</span>
636
+ <span class='ivar'>@settings</span><span class='period'>.</span><span class='id cloud_provider'>cloud_provider</span> <span class='op'>=</span> <span class='id symbolize_keys'>symbolize_keys</span><span class='lparen'>(</span><span class='ivar'>@settings</span><span class='period'>.</span><span class='id cloud_provider'>cloud_provider</span><span class='rparen'>)</span>
637
+ <span class='kw'>else</span>
638
+ <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='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Malformed config file</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
639
+ <span class='kw'>return</span> <span class='kw'>false</span>
640
+ <span class='kw'>end</span>
641
+ <span class='kw'>end</span>
642
+ <span class='kw'>true</span>
643
+ <span class='kw'>end</span></pre>
644
+ </td>
645
+ </tr>
646
+ </table>
647
+ </div>
648
+
649
+ </div>
650
+
651
+ </div>
652
+
653
+ <div id="footer">
654
+ Generated on Fri Sep 23 18:24:38 2011 by
655
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
656
+ 0.7.2 (ruby-1.9.2).
657
+ </div>
658
+
659
+ </body>
660
+ </html>