akaer 1.5.8 → 2.0.0
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/.travis-gemfile +13 -0
- data/.travis.yml +6 -4
- data/Gemfile +12 -1
- data/README.md +7 -4
- data/Rakefile +2 -9
- data/akaer.gemspec +5 -10
- data/bin/akaer +19 -17
- data/doc/Akaer/Application.html +1186 -860
- data/doc/Akaer/ApplicationMethods/General.html +365 -0
- data/doc/Akaer/ApplicationMethods/System.html +456 -0
- data/doc/Akaer/{Errors.html → ApplicationMethods.html} +21 -11
- data/doc/Akaer/Configuration.html +3 -3
- data/doc/Akaer/Version.html +6 -6
- data/doc/Akaer.html +6 -6
- data/doc/_index.html +41 -4
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +53 -42
- data/doc/frames.html +1 -1
- data/doc/index.html +53 -42
- data/doc/method_list.html +30 -22
- data/doc/top-level-namespace.html +3 -3
- data/lib/akaer/application.rb +323 -199
- data/lib/akaer/configuration.rb +13 -13
- data/lib/akaer/version.rb +4 -4
- data/lib/akaer.rb +2 -1
- data/locales/en.yml +52 -0
- data/locales/it.yml +52 -0
- data/spec/akaer/application_spec.rb +25 -25
- data/spec/akaer/configuration_spec.rb +3 -3
- data/spec/coverage_helper.rb +6 -9
- data/spec/spec_helper.rb +1 -2
- metadata +18 -115
- data/doc/Akaer/Errors/InvalidConfiguration.html +0 -123
- data/doc/Akaer/Logger.html +0 -596
- data/doc/Fixnum.html +0 -200
data/doc/Akaer/Application.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: Akaer::Application
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.
|
9
|
+
— Documentation by YARD 0.8.4.1
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -90,11 +90,15 @@
|
|
90
90
|
|
91
91
|
|
92
92
|
|
93
|
+
<dt class="r2">Includes:</dt>
|
94
|
+
<dd class="r2"><span class='object_link'><a href="ApplicationMethods/General.html" title="Akaer::ApplicationMethods::General (module)">Akaer::ApplicationMethods::General</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html" title="Akaer::ApplicationMethods::System (module)">Akaer::ApplicationMethods::System</a></span>, Lazier::I18n</dd>
|
95
|
+
|
96
|
+
|
93
97
|
|
94
98
|
|
95
99
|
|
96
|
-
<dt class="
|
97
|
-
<dd class="
|
100
|
+
<dt class="r1 last">Defined in:</dt>
|
101
|
+
<dd class="r1 last">lib/akaer/application.rb</dd>
|
98
102
|
|
99
103
|
</dl>
|
100
104
|
<div class="clear"></div>
|
@@ -119,7 +123,7 @@
|
|
119
123
|
<li class="public ">
|
120
124
|
<span class="summary_signature">
|
121
125
|
|
122
|
-
<a href="
|
126
|
+
<a href="#%40return-instance_method" title="\#@return (instance method)">- (Object) <strong>@return</strong>(@return) </a>
|
123
127
|
|
124
128
|
|
125
129
|
|
@@ -138,7 +142,7 @@
|
|
138
142
|
|
139
143
|
|
140
144
|
|
141
|
-
<span class="summary_desc"><div class='inline'><p>The
|
145
|
+
<span class="summary_desc"><div class='inline'><p>logger The logger for this application.</p>
|
142
146
|
</div></span>
|
143
147
|
|
144
148
|
</li>
|
@@ -147,7 +151,7 @@
|
|
147
151
|
<li class="public ">
|
148
152
|
<span class="summary_signature">
|
149
153
|
|
150
|
-
<a href="#
|
154
|
+
<a href="#command-instance_method" title="#command (instance method)">- (Mamertes::Command) <strong>command</strong> </a>
|
151
155
|
|
152
156
|
|
153
157
|
|
@@ -156,8 +160,6 @@
|
|
156
160
|
|
157
161
|
|
158
162
|
|
159
|
-
<span class="note title readonly">readonly</span>
|
160
|
-
|
161
163
|
|
162
164
|
|
163
165
|
|
@@ -166,7 +168,7 @@
|
|
166
168
|
|
167
169
|
|
168
170
|
|
169
|
-
<span class="summary_desc"><div class='inline'><p>The
|
171
|
+
<span class="summary_desc"><div class='inline'><p>The Mamertes command.</p>
|
170
172
|
</div></span>
|
171
173
|
|
172
174
|
</li>
|
@@ -175,7 +177,7 @@
|
|
175
177
|
<li class="public ">
|
176
178
|
<span class="summary_signature">
|
177
179
|
|
178
|
-
<a href="#
|
180
|
+
<a href="#config-instance_method" title="#config (instance method)">- (Configuration) <strong>config</strong> </a>
|
179
181
|
|
180
182
|
|
181
183
|
|
@@ -192,29 +194,16 @@
|
|
192
194
|
|
193
195
|
|
194
196
|
|
195
|
-
<span class="summary_desc"><div class='inline'><p>The
|
197
|
+
<span class="summary_desc"><div class='inline'><p>The <span class='object_link'><a href="Configuration.html" title="Akaer::Configuration (class)">Configuration</a></span> of this application.</p>
|
196
198
|
</div></span>
|
197
199
|
|
198
200
|
</li>
|
199
201
|
|
200
202
|
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
<h2>
|
208
|
-
Class Method Summary
|
209
|
-
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
210
|
-
</h2>
|
211
|
-
|
212
|
-
<ul class="summary">
|
213
|
-
|
214
|
-
<li class="public ">
|
203
|
+
<li class="public ">
|
215
204
|
<span class="summary_signature">
|
216
205
|
|
217
|
-
<a href="#
|
206
|
+
<a href="#logger-instance_method" title="#logger (instance method)">- (Object) <strong>logger</strong> </a>
|
218
207
|
|
219
208
|
|
220
209
|
|
@@ -222,37 +211,8 @@
|
|
222
211
|
|
223
212
|
|
224
213
|
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
<span class="summary_desc"><div class='inline'><p>Returns a unique (singleton) instance of the application.</p>
|
232
|
-
</div></span>
|
233
|
-
|
234
|
-
</li>
|
235
|
-
|
236
|
-
|
237
|
-
</ul>
|
238
|
-
|
239
|
-
<h2>
|
240
|
-
Instance Method Summary
|
241
|
-
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
242
|
-
</h2>
|
243
|
-
|
244
|
-
<ul class="summary">
|
245
|
-
|
246
|
-
<li class="public ">
|
247
|
-
<span class="summary_signature">
|
248
214
|
|
249
|
-
<a href="#action_add-instance_method" title="#action_add (instance method)">- (Boolean) <strong>action_add</strong> </a>
|
250
215
|
|
251
|
-
|
252
|
-
|
253
|
-
</span>
|
254
|
-
|
255
|
-
|
256
216
|
|
257
217
|
|
258
218
|
|
@@ -260,39 +220,29 @@
|
|
260
220
|
|
261
221
|
|
262
222
|
|
263
|
-
<span class="summary_desc"><div class='inline'><p>
|
223
|
+
<span class="summary_desc"><div class='inline'><p>Returns the value of attribute logger.</p>
|
264
224
|
</div></span>
|
265
225
|
|
266
226
|
</li>
|
267
227
|
|
268
|
-
|
269
|
-
<li class="public ">
|
270
|
-
<span class="summary_signature">
|
271
|
-
|
272
|
-
<a href="#action_install-instance_method" title="#action_install (instance method)">- (Boolean) <strong>action_install</strong> </a>
|
273
228
|
|
229
|
+
</ul>
|
230
|
+
|
231
|
+
|
274
232
|
|
275
|
-
|
276
|
-
</span>
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
233
|
|
285
234
|
|
286
|
-
<
|
287
|
-
|
288
|
-
|
289
|
-
</
|
235
|
+
<h2>
|
236
|
+
Class Method Summary
|
237
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
238
|
+
</h2>
|
290
239
|
|
240
|
+
<ul class="summary">
|
291
241
|
|
292
242
|
<li class="public ">
|
293
243
|
<span class="summary_signature">
|
294
244
|
|
295
|
-
<a href="#
|
245
|
+
<a href="#instance-class_method" title="instance (class method)">+ (Application) <strong>instance</strong>(command, locale = nil, force = false) </a>
|
296
246
|
|
297
247
|
|
298
248
|
|
@@ -306,34 +256,20 @@
|
|
306
256
|
|
307
257
|
|
308
258
|
|
309
|
-
<span class="summary_desc"><div class='inline'><p>
|
259
|
+
<span class="summary_desc"><div class='inline'><p>Returns a unique (singleton) instance of the application.</p>
|
310
260
|
</div></span>
|
311
261
|
|
312
262
|
</li>
|
313
263
|
|
314
264
|
|
315
|
-
|
316
|
-
<span class="summary_signature">
|
317
|
-
|
318
|
-
<a href="#action_uninstall-instance_method" title="#action_uninstall (instance method)">- (Boolean) <strong>action_uninstall</strong> </a>
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
</span>
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
<span class="summary_desc"><div class='inline'><p>Uninstalls the application from the autolaunch.</p>
|
333
|
-
</div></span>
|
265
|
+
</ul>
|
334
266
|
|
335
|
-
|
267
|
+
<h2>
|
268
|
+
Instance Method Summary
|
269
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
270
|
+
</h2>
|
336
271
|
|
272
|
+
<ul class="summary">
|
337
273
|
|
338
274
|
<li class="public ">
|
339
275
|
<span class="summary_signature">
|
@@ -407,7 +343,7 @@
|
|
407
343
|
<li class="public ">
|
408
344
|
<span class="summary_signature">
|
409
345
|
|
410
|
-
<a href="#initialize-instance_method" title="#initialize (instance method)">- (Application) <strong>initialize</strong>(command) </a>
|
346
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (Application) <strong>initialize</strong>(command, locale) </a>
|
411
347
|
|
412
348
|
|
413
349
|
|
@@ -478,7 +414,7 @@
|
|
478
414
|
<li class="public ">
|
479
415
|
<span class="summary_signature">
|
480
416
|
|
481
|
-
<a href="#
|
417
|
+
<a href="#launch_agent_path-instance_method" title="#launch_agent_path (instance method)">- (String) <strong>launch_agent_path</strong>(name = "it.cowtech.akaer") </a>
|
482
418
|
|
483
419
|
|
484
420
|
|
@@ -492,7 +428,7 @@
|
|
492
428
|
|
493
429
|
|
494
430
|
|
495
|
-
<span class="summary_desc"><div class='inline'><p>
|
431
|
+
<span class="summary_desc"><div class='inline'><p>Gets the path for the launch agent file.</p>
|
496
432
|
</div></span>
|
497
433
|
|
498
434
|
</li>
|
@@ -501,7 +437,7 @@
|
|
501
437
|
<li class="public ">
|
502
438
|
<span class="summary_signature">
|
503
439
|
|
504
|
-
<a href="#
|
440
|
+
<a href="#pad_number-instance_method" title="#pad_number (instance method)">- (String) <strong>pad_number</strong>(num, len = nil) </a>
|
505
441
|
|
506
442
|
|
507
443
|
|
@@ -515,20 +451,16 @@
|
|
515
451
|
|
516
452
|
|
517
453
|
|
518
|
-
<span class="summary_desc"><div class='inline'><p>
|
454
|
+
<span class="summary_desc"><div class='inline'><p>Pads a number to make it print friendly.</p>
|
519
455
|
</div></span>
|
520
456
|
|
521
457
|
</li>
|
522
458
|
|
523
459
|
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
<a href="#manage-instance_method" title="#manage (instance method)">- (Boolean) <strong>manage</strong>(type, address) </a>
|
528
|
-
|
460
|
+
</ul>
|
461
|
+
|
462
|
+
|
529
463
|
|
530
|
-
|
531
|
-
</span>
|
532
464
|
|
533
465
|
|
534
466
|
|
@@ -536,47 +468,29 @@
|
|
536
468
|
|
537
469
|
|
538
470
|
|
539
|
-
|
540
471
|
|
541
|
-
|
542
|
-
</
|
543
|
-
|
544
|
-
</li>
|
545
|
-
|
546
|
-
|
547
|
-
<li class="public ">
|
548
|
-
<span class="summary_signature">
|
549
|
-
|
550
|
-
<a href="#pad_number-instance_method" title="#pad_number (instance method)">- (String) <strong>pad_number</strong>(num, len = nil) </a>
|
551
|
-
|
472
|
+
<h3 class="inherited">Methods included from <span class='object_link'><a href="ApplicationMethods/System.html" title="Akaer::ApplicationMethods::System (module)">Akaer::ApplicationMethods::System</a></span></h3>
|
473
|
+
<p class="inherited"><span class='object_link'><a href="ApplicationMethods/System.html#action_add-instance_method" title="Akaer::ApplicationMethods::System#action_add (method)">#action_add</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html#action_install-instance_method" title="Akaer::ApplicationMethods::System#action_install (method)">#action_install</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html#action_remove-instance_method" title="Akaer::ApplicationMethods::System#action_remove (method)">#action_remove</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html#action_uninstall-instance_method" title="Akaer::ApplicationMethods::System#action_uninstall (method)">#action_uninstall</a></span></p>
|
552
474
|
|
553
|
-
|
554
|
-
</span>
|
555
|
-
|
556
475
|
|
557
476
|
|
558
477
|
|
559
478
|
|
560
479
|
|
561
480
|
|
562
|
-
|
563
481
|
|
564
|
-
<span class="summary_desc"><div class='inline'><p>Pads a number to make it print friendly.</p>
|
565
|
-
</div></span>
|
566
482
|
|
567
|
-
</
|
483
|
+
<h3 class="inherited">Methods included from <span class='object_link'><a href="ApplicationMethods/General.html" title="Akaer::ApplicationMethods::General (module)">Akaer::ApplicationMethods::General</a></span></h3>
|
484
|
+
<p class="inherited"><span class='object_link'><a href="ApplicationMethods/General.html#is_osx%3F-instance_method" title="Akaer::ApplicationMethods::General#is_osx? (method)">#is_osx?</a></span>, <span class='object_link'><a href="ApplicationMethods/General.html#manage-instance_method" title="Akaer::ApplicationMethods::General#manage (method)">#manage</a></span></p>
|
568
485
|
|
569
|
-
|
570
|
-
</ul>
|
571
486
|
|
572
|
-
|
573
|
-
<div id="constructor_details" class="method_details_list">
|
487
|
+
<div id="constructor_details" class="method_details_list">
|
574
488
|
<h2>Constructor Details</h2>
|
575
489
|
|
576
490
|
<div class="method_details first">
|
577
491
|
<h3 class="signature first" id="initialize-instance_method">
|
578
492
|
|
579
|
-
- (<tt><span class='object_link'><a href="" title="Akaer::Application (class)">Application</a></span></tt>) <strong>initialize</strong>(command)
|
493
|
+
- (<tt><span class='object_link'><a href="" title="Akaer::Application (class)">Application</a></span></tt>) <strong>initialize</strong>(command, locale)
|
580
494
|
|
581
495
|
|
582
496
|
|
@@ -608,6 +522,21 @@
|
|
608
522
|
|
609
523
|
</li>
|
610
524
|
|
525
|
+
<li>
|
526
|
+
|
527
|
+
<span class='name'>locale</span>
|
528
|
+
|
529
|
+
|
530
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
531
|
+
|
532
|
+
|
533
|
+
|
534
|
+
—
|
535
|
+
<div class='inline'><p>The locale to use for the application.</p>
|
536
|
+
</div>
|
537
|
+
|
538
|
+
</li>
|
539
|
+
|
611
540
|
</ul>
|
612
541
|
|
613
542
|
|
@@ -617,75 +546,39 @@
|
|
617
546
|
<pre class="lines">
|
618
547
|
|
619
548
|
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
39
|
637
|
-
40
|
638
|
-
41
|
639
|
-
42
|
640
|
-
43
|
641
|
-
44
|
642
|
-
45
|
643
|
-
46
|
644
|
-
47
|
645
|
-
48
|
646
|
-
49
|
647
|
-
50
|
648
|
-
51
|
649
|
-
52
|
650
|
-
53
|
651
|
-
54
|
652
|
-
55
|
653
|
-
56</pre>
|
549
|
+
283
|
550
|
+
284
|
551
|
+
285
|
552
|
+
286
|
553
|
+
287
|
554
|
+
288
|
555
|
+
289
|
556
|
+
290
|
557
|
+
291
|
558
|
+
292
|
559
|
+
293
|
560
|
+
294
|
561
|
+
295
|
562
|
+
296
|
563
|
+
297
|
564
|
+
298</pre>
|
654
565
|
</td>
|
655
566
|
<td>
|
656
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
567
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 283</span>
|
568
|
+
|
569
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
570
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n_setup'>i18n_setup</span><span class='lparen'>(</span><span class='symbol'>:akaer</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
571
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
657
572
|
|
658
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
659
573
|
<span class='ivar'>@command</span> <span class='op'>=</span> <span class='id identifier rubyid_command'>command</span>
|
660
|
-
<span class='id identifier
|
574
|
+
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_get_options'>get_options</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span>
|
661
575
|
|
662
576
|
<span class='comment'># Setup logger
|
663
577
|
</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_start_time'>start_time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span>
|
664
|
-
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier
|
578
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>log_file</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_default_file'>default_file</span><span class='comma'>,</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='rparen'>)</span>
|
665
579
|
|
666
580
|
<span class='comment'># Open configuration
|
667
|
-
</span> <span class='
|
668
|
-
<span class='id identifier rubyid_overrides'>overrides</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
669
|
-
<span class='symbol'>:interface</span> <span class='op'>=></span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>interface</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span>
|
670
|
-
<span class='symbol'>:addresses</span> <span class='op'>=></span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>addresses</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span>
|
671
|
-
<span class='symbol'>:start_address</span> <span class='op'>=></span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>start-address</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span>
|
672
|
-
<span class='symbol'>:aliases</span> <span class='op'>=></span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>aliases</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span>
|
673
|
-
<span class='symbol'>:add_command</span> <span class='op'>=></span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>add-command</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span>
|
674
|
-
<span class='symbol'>:remove_command</span> <span class='op'>=></span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>remove-command</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span>
|
675
|
-
<span class='symbol'>:log_file</span> <span class='op'>=></span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>log-file</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span>
|
676
|
-
<span class='symbol'>:log_level</span> <span class='op'>=></span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>log-level</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span>
|
677
|
-
<span class='symbol'>:dry_run</span> <span class='op'>=></span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>dry-run</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span>
|
678
|
-
<span class='symbol'>:quiet</span> <span class='op'>=></span> <span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>quiet</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span>
|
679
|
-
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span>
|
680
|
-
|
681
|
-
<span class='ivar'>@config</span> <span class='op'>=</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>Configuration</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>configuration</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='id identifier rubyid_overrides'>overrides</span><span class='comma'>,</span> <span class='ivar'>@logger</span><span class='rparen'>)</span>
|
682
|
-
|
683
|
-
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
684
|
-
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_get_logger'>get_logger</span>
|
685
|
-
<span class='kw'>rescue</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>InvalidConfiguration</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
686
|
-
<span class='ivar'>@logger</span> <span class='op'>?</span> <span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Cannot log to {mark=bright}</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_log_file'>log_file</span><span class='rbrace'>}</span><span class='tstring_content'>{/mark}. Exiting...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
687
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='op'>::</span><span class='const'>SystemExit</span>
|
688
|
-
<span class='kw'>end</span>
|
581
|
+
</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
689
582
|
|
690
583
|
<span class='kw'>self</span>
|
691
584
|
<span class='kw'>end</span></pre>
|
@@ -702,9 +595,9 @@
|
|
702
595
|
|
703
596
|
<span id=""></span>
|
704
597
|
<div class="method_details first">
|
705
|
-
<h3 class="signature first" id="
|
598
|
+
<h3 class="signature first" id="@return-instance_method">
|
706
599
|
|
707
|
-
- (<tt>Object</tt>) <strong
|
600
|
+
- (<tt>Object</tt>) <strong>@return</strong>(@return) <span class="extras">(readonly)</span>
|
708
601
|
|
709
602
|
|
710
603
|
|
@@ -712,7 +605,7 @@
|
|
712
605
|
|
713
606
|
</h3><div class="docstring">
|
714
607
|
<div class="discussion">
|
715
|
-
<p>The
|
608
|
+
<p>logger The logger for this application.</p>
|
716
609
|
|
717
610
|
|
718
611
|
</div>
|
@@ -726,116 +619,347 @@
|
|
726
619
|
<pre class="lines">
|
727
620
|
|
728
621
|
|
729
|
-
|
730
|
-
|
731
|
-
|
622
|
+
270
|
623
|
+
271
|
624
|
+
272
|
625
|
+
273
|
626
|
+
274
|
627
|
+
275
|
628
|
+
276
|
629
|
+
277
|
630
|
+
278
|
631
|
+
279
|
632
|
+
280
|
633
|
+
281
|
634
|
+
282
|
635
|
+
283
|
636
|
+
284
|
637
|
+
285
|
638
|
+
286
|
639
|
+
287
|
640
|
+
288
|
641
|
+
289
|
642
|
+
290
|
643
|
+
291
|
644
|
+
292
|
645
|
+
293
|
646
|
+
294
|
647
|
+
295
|
648
|
+
296
|
649
|
+
297
|
650
|
+
298
|
651
|
+
299
|
652
|
+
300
|
653
|
+
301
|
654
|
+
302
|
655
|
+
303
|
656
|
+
304
|
657
|
+
305
|
658
|
+
306
|
659
|
+
307
|
660
|
+
308
|
661
|
+
309
|
662
|
+
310
|
663
|
+
311
|
664
|
+
312
|
665
|
+
313
|
666
|
+
314
|
667
|
+
315
|
668
|
+
316
|
669
|
+
317
|
670
|
+
318
|
671
|
+
319
|
672
|
+
320
|
673
|
+
321
|
674
|
+
322
|
675
|
+
323
|
676
|
+
324
|
677
|
+
325
|
678
|
+
326
|
679
|
+
327
|
680
|
+
328
|
681
|
+
329
|
682
|
+
330
|
683
|
+
331
|
684
|
+
332
|
685
|
+
333
|
686
|
+
334
|
687
|
+
335
|
688
|
+
336
|
689
|
+
337
|
690
|
+
338
|
691
|
+
339
|
692
|
+
340
|
693
|
+
341
|
694
|
+
342
|
695
|
+
343
|
696
|
+
344
|
697
|
+
345
|
698
|
+
346
|
699
|
+
347
|
700
|
+
348
|
701
|
+
349
|
702
|
+
350
|
703
|
+
351
|
704
|
+
352
|
705
|
+
353
|
706
|
+
354
|
707
|
+
355
|
708
|
+
356
|
709
|
+
357
|
710
|
+
358
|
711
|
+
359
|
712
|
+
360
|
713
|
+
361
|
714
|
+
362
|
715
|
+
363
|
716
|
+
364
|
717
|
+
365
|
718
|
+
366
|
719
|
+
367
|
720
|
+
368
|
721
|
+
369
|
722
|
+
370
|
723
|
+
371
|
724
|
+
372
|
725
|
+
373
|
726
|
+
374
|
727
|
+
375
|
728
|
+
376
|
729
|
+
377
|
730
|
+
378
|
731
|
+
379
|
732
|
+
380
|
733
|
+
381
|
734
|
+
382
|
735
|
+
383
|
736
|
+
384
|
737
|
+
385
|
738
|
+
386
|
739
|
+
387
|
740
|
+
388
|
741
|
+
389
|
742
|
+
390
|
743
|
+
391
|
744
|
+
392
|
745
|
+
393
|
746
|
+
394
|
747
|
+
395
|
748
|
+
396
|
749
|
+
397
|
750
|
+
398
|
751
|
+
399
|
752
|
+
400
|
753
|
+
401
|
754
|
+
402
|
755
|
+
403
|
756
|
+
404
|
757
|
+
405
|
758
|
+
406
|
759
|
+
407
|
760
|
+
408
|
761
|
+
409
|
762
|
+
410
|
763
|
+
411
|
764
|
+
412
|
765
|
+
413
|
766
|
+
414
|
767
|
+
415
|
768
|
+
416
|
769
|
+
417
|
770
|
+
418
|
771
|
+
419
|
772
|
+
420
|
773
|
+
421
|
774
|
+
422
|
775
|
+
423
|
776
|
+
424
|
777
|
+
425
|
778
|
+
426
|
779
|
+
427
|
780
|
+
428
|
781
|
+
429
|
782
|
+
430
|
783
|
+
431
|
784
|
+
432</pre>
|
732
785
|
</td>
|
733
786
|
<td>
|
734
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
787
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 270</span>
|
735
788
|
|
736
|
-
<span class='kw'>
|
737
|
-
<span class='
|
738
|
-
<span class='
|
739
|
-
|
740
|
-
</tr>
|
741
|
-
</table>
|
742
|
-
</div>
|
743
|
-
|
744
|
-
|
745
|
-
<span id=""></span>
|
746
|
-
<div class="method_details ">
|
747
|
-
<h3 class="signature " id="config-instance_method">
|
748
|
-
|
749
|
-
- (<tt>Object</tt>) <strong>config</strong> <span class="extras">(readonly)</span>
|
750
|
-
|
789
|
+
<span class='kw'>class</span> <span class='const'>Application</span>
|
790
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:config</span>
|
791
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:command</span>
|
792
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:logger</span>
|
751
793
|
|
752
|
-
|
794
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>I18n</span>
|
795
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>General</span>
|
796
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>System</span>
|
753
797
|
|
754
|
-
|
755
|
-
</
|
756
|
-
<
|
757
|
-
|
798
|
+
<span class='comment'># Creates a new application.
|
799
|
+
</span> <span class='comment'>#
|
800
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
801
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
802
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
803
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n_setup'>i18n_setup</span><span class='lparen'>(</span><span class='symbol'>:akaer</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
804
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
758
805
|
|
806
|
+
<span class='ivar'>@command</span> <span class='op'>=</span> <span class='id identifier rubyid_command'>command</span>
|
807
|
+
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_get_options'>get_options</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span>
|
759
808
|
|
760
|
-
|
761
|
-
</
|
762
|
-
<
|
763
|
-
|
809
|
+
<span class='comment'># Setup logger
|
810
|
+
</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_start_time'>start_time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span>
|
811
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>log_file</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_default_file'>default_file</span><span class='comma'>,</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='rparen'>)</span>
|
764
812
|
|
765
|
-
|
766
|
-
|
767
|
-
<td>
|
768
|
-
<pre class="lines">
|
813
|
+
<span class='comment'># Open configuration
|
814
|
+
</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
769
815
|
|
816
|
+
<span class='kw'>self</span>
|
817
|
+
<span class='kw'>end</span>
|
770
818
|
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
819
|
+
<span class='comment'># Checks if and address is a valid IPv4 address.
|
820
|
+
</span> <span class='comment'>#
|
821
|
+
</span> <span class='comment'># @param address [String] The address to check.
|
822
|
+
</span> <span class='comment'># @return [Boolean] `true` if the address is a valid IPv4 address, `false` otherwise.
|
823
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
824
|
+
<span class='id identifier rubyid_address'>address</span> <span class='op'>=</span> <span class='id identifier rubyid_address'>address</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
777
825
|
|
778
|
-
<span class='
|
779
|
-
|
780
|
-
<span class='kw'>end</span
|
781
|
-
</td>
|
782
|
-
</tr>
|
783
|
-
</table>
|
784
|
-
</div>
|
785
|
-
|
786
|
-
|
787
|
-
<span id="logger=-instance_method"></span>
|
788
|
-
<div class="method_details ">
|
789
|
-
<h3 class="signature " id="logger-instance_method">
|
790
|
-
|
791
|
-
- (<tt>Object</tt>) <strong>logger</strong>
|
792
|
-
|
826
|
+
<span class='id identifier rubyid_mo'>mo</span> <span class='op'>=</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\Z</span><span class='regexp_end'>/</span></span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
827
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_mo'>mo</span> <span class='op'>&&</span> <span class='id identifier rubyid_mo'>mo</span><span class='period'>.</span><span class='id identifier rubyid_captures'>captures</span><span class='period'>.</span><span class='id identifier rubyid_all?'>all?</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='op'><</span> <span class='int'>256</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
|
828
|
+
<span class='kw'>end</span>
|
793
829
|
|
794
|
-
|
830
|
+
<span class='comment'># Checks if and address is a valid IPv6 address.
|
831
|
+
</span> <span class='comment'>#
|
832
|
+
</span> <span class='comment'># @param address [String] The address to check.
|
833
|
+
</span> <span class='comment'># @return [Boolean] `true` if the address is a valid IPv6 address, `false` otherwise.
|
834
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_is_ipv6?'>is_ipv6?</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
835
|
+
<span class='id identifier rubyid_address'>address</span> <span class='op'>=</span> <span class='id identifier rubyid_address'>address</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
836
|
+
|
837
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_catch'>catch</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
838
|
+
<span class='comment'># IPv6 (normal)
|
839
|
+
</span> <span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*\Z</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span>
|
840
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span>
|
841
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span>
|
842
|
+
<span class='comment'># IPv6 (IPv4 compat)
|
843
|
+
</span> <span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span> <span class='op'>&&</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='backref'>$'</span><span class='rparen'>)</span>
|
844
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span> <span class='op'>&&</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='backref'>$'</span><span class='rparen'>)</span>
|
845
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span> <span class='op'>&&</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='backref'>$'</span><span class='rparen'>)</span>
|
846
|
+
|
847
|
+
<span class='kw'>false</span>
|
848
|
+
<span class='kw'>end</span>
|
849
|
+
<span class='kw'>end</span>
|
795
850
|
|
796
|
-
|
797
|
-
</h3><div class="docstring">
|
798
|
-
<div class="discussion">
|
799
|
-
<p>The logger for this application.</p>
|
800
851
|
|
852
|
+
<span class='comment'># Pads a number to make it print friendly.
|
853
|
+
</span> <span class='comment'>#
|
854
|
+
</span> <span class='comment'># @param num [Fixnum] The number to pad.
|
855
|
+
</span> <span class='comment'># @param len [Fixnum] The minimum length of the padded string.
|
856
|
+
</span> <span class='comment'># @return [String] The padded number.
|
857
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_pad_number'>pad_number</span><span class='lparen'>(</span><span class='id identifier rubyid_num'>num</span><span class='comma'>,</span> <span class='id identifier rubyid_len'>len</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
858
|
+
<span class='id identifier rubyid_num'>num</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_rjust'>rjust</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_len'>len</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='comma'>,</span> <span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>0</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
859
|
+
<span class='kw'>end</span>
|
801
860
|
|
802
|
-
|
803
|
-
</
|
804
|
-
<
|
805
|
-
|
861
|
+
<span class='comment'># Gets the current logger of the application.
|
862
|
+
</span> <span class='comment'>#
|
863
|
+
</span> <span class='comment'># @return [Logger] The current logger of the application.
|
864
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_get_logger'>get_logger</span>
|
865
|
+
<span class='ivar'>@logger</span> <span class='op'>||=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_file'>log_file</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_level'>log_level</span><span class='comma'>,</span> <span class='ivar'>@log_formatter</span><span class='rparen'>)</span>
|
866
|
+
<span class='kw'>end</span>
|
806
867
|
|
807
|
-
|
808
|
-
<
|
809
|
-
|
810
|
-
|
868
|
+
<span class='comment'># Gets the path for the launch agent file.
|
869
|
+
</span> <span class='comment'>#
|
870
|
+
</span> <span class='comment'># @param name [String] The base name for the agent.
|
871
|
+
</span> <span class='comment'># @return [String] The path for the launch agent file.
|
872
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_launch_agent_path'>launch_agent_path</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>it.cowtech.akaer</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
873
|
+
<span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>HOME</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/Library/LaunchAgents/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='rbrace'>}</span><span class='tstring_content'>.plist</span><span class='tstring_end'>"</span></span>
|
874
|
+
<span class='kw'>end</span>
|
811
875
|
|
876
|
+
<span class='comment'># Executes a shell command.
|
877
|
+
</span> <span class='comment'>#
|
878
|
+
</span> <span class='comment'># @param command [String] The command to execute.
|
879
|
+
</span> <span class='comment'># @return [Boolean] `true` if command succeeded, `false` otherwise.
|
880
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_command'>execute_command</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
881
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_system'>system</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
882
|
+
<span class='kw'>end</span>
|
812
883
|
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
884
|
+
<span class='comment'># Computes the list of address to manage.
|
885
|
+
</span> <span class='comment'>#
|
886
|
+
</span> <span class='comment'># @param type [Symbol] The type of addresses to consider. Valid values are `:ipv4`, `:ipv6`, otherwise all addresses are considered.
|
887
|
+
</span> <span class='comment'># @return [Array] The list of addresses to add or remove from the interface.
|
888
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_compute_addresses'>compute_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:all</span><span class='rparen'>)</span>
|
889
|
+
<span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span>
|
890
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_addresses'>addresses</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='id identifier rubyid_filter_addresses'>filter_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_generate_addresses'>generate_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
891
|
+
<span class='kw'>end</span>
|
819
892
|
|
820
|
-
<span class='
|
821
|
-
<span class='
|
893
|
+
<span class='comment'># Returns a unique (singleton) instance of the application.
|
894
|
+
</span> <span class='comment'>#
|
895
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
896
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
897
|
+
</span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
|
898
|
+
</span> <span class='comment'># @return [Application] The unique (singleton) instance of the application.
|
899
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
900
|
+
<span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
|
901
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
902
|
+
<span class='kw'>end</span>
|
903
|
+
|
904
|
+
<span class='id identifier rubyid_private'>private</span>
|
905
|
+
<span class='comment'># Reads the configuration.
|
906
|
+
</span> <span class='comment'>#
|
907
|
+
</span> <span class='comment'># @param options [Hash] The options to read.
|
908
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
909
|
+
<span class='kw'>begin</span>
|
910
|
+
<span class='ivar'>@config</span> <span class='op'>=</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>Configuration</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>configuration</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='ivar'>@logger</span><span class='rparen'>)</span>
|
911
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
912
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_get_logger'>get_logger</span>
|
913
|
+
<span class='kw'>rescue</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>InvalidConfiguration</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
914
|
+
<span class='ivar'>@logger</span> <span class='op'>?</span> <span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span><span class='period'>.</span><span class='id identifier rubyid_logging_failed'>logging_failed</span><span class='lparen'>(</span><span class='id identifier rubyid_log_file'>log_file</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
915
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='op'>::</span><span class='const'>SystemExit</span>
|
916
|
+
<span class='kw'>end</span>
|
917
|
+
<span class='kw'>end</span>
|
918
|
+
|
919
|
+
<span class='comment'># Filters a list of addresses to return just certain type(s).
|
920
|
+
</span> <span class='comment'>#
|
921
|
+
</span> <span class='comment'># @param config [Configuration] The current configuration.
|
922
|
+
</span> <span class='comment'># @param type [Symbol] The type of addresses to return.
|
923
|
+
</span> <span class='comment'># @return [Array] A list of IPs.
|
924
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_filter_addresses'>filter_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
925
|
+
<span class='id identifier rubyid_filters'>filters</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:ipv4</span><span class='comma'>,</span> <span class='symbol'>:ipv6</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='id identifier rubyid_i'>i</span> <span class='op'>||</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:all</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span>
|
926
|
+
|
927
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_addresses'>addresses</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_address'>address</span><span class='op'>|</span>
|
928
|
+
<span class='id identifier rubyid_filters'>filters</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_filter'>filter</span><span class='op'>|</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>is_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filter'>filter</span><span class='rbrace'>}</span><span class='tstring_content'>?</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
929
|
+
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
930
|
+
<span class='kw'>end</span>
|
931
|
+
|
932
|
+
<span class='comment'># Generates a list of addresses which are immediate successors of a start address.
|
933
|
+
</span> <span class='comment'>#
|
934
|
+
</span> <span class='comment'># @param config [Configuration] The current configuration.
|
935
|
+
</span> <span class='comment'># @param type [Symbol] The type of addresses to return.
|
936
|
+
</span> <span class='comment'># @return [Array] A list of IPs.
|
937
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_generate_addresses'>generate_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
938
|
+
<span class='kw'>begin</span>
|
939
|
+
<span class='id identifier rubyid_ip'>ip</span> <span class='op'>=</span> <span class='const'>IPAddr</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_start_address'>start_address</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span>
|
940
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span> <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='symbol'>:all</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_ip'>ip</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='rbrace'>}</span><span class='tstring_content'>?</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
941
|
+
|
942
|
+
<span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_aliases'>aliases</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_aliases'>aliases</span> <span class='op'>:</span> <span class='int'>5</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_times'>times</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
|
943
|
+
<span class='id identifier rubyid_current'>current</span> <span class='op'>=</span> <span class='id identifier rubyid_ip'>ip</span>
|
944
|
+
<span class='id identifier rubyid_ip'>ip</span> <span class='op'>=</span> <span class='id identifier rubyid_ip'>ip</span><span class='period'>.</span><span class='id identifier rubyid_succ'>succ</span>
|
945
|
+
<span class='id identifier rubyid_current'>current</span>
|
946
|
+
<span class='rbrace'>}</span>
|
947
|
+
<span class='kw'>rescue</span> <span class='const'>ArgumentError</span>
|
948
|
+
<span class='lbracket'>[</span><span class='rbracket'>]</span>
|
949
|
+
<span class='kw'>end</span>
|
950
|
+
<span class='kw'>end</span>
|
822
951
|
<span class='kw'>end</span></pre>
|
823
952
|
</td>
|
824
953
|
</tr>
|
825
954
|
</table>
|
826
955
|
</div>
|
827
956
|
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
<
|
832
|
-
<h2>Class Method Details</h2>
|
833
|
-
|
834
|
-
|
835
|
-
<div class="method_details first">
|
836
|
-
<h3 class="signature first" id="instance-class_method">
|
957
|
+
|
958
|
+
<span id="command=-instance_method"></span>
|
959
|
+
<div class="method_details ">
|
960
|
+
<h3 class="signature " id="command-instance_method">
|
837
961
|
|
838
|
-
|
962
|
+
- (<tt>Mamertes::Command</tt>) <strong>command</strong>
|
839
963
|
|
840
964
|
|
841
965
|
|
@@ -843,61 +967,25 @@
|
|
843
967
|
|
844
968
|
</h3><div class="docstring">
|
845
969
|
<div class="discussion">
|
846
|
-
<p>
|
970
|
+
<p>The Mamertes command.</p>
|
847
971
|
|
848
972
|
|
849
973
|
</div>
|
850
974
|
</div>
|
851
975
|
<div class="tags">
|
852
|
-
<p class="tag_title">Parameters:</p>
|
853
|
-
<ul class="param">
|
854
976
|
|
855
|
-
<li>
|
856
|
-
|
857
|
-
<span class='name'>command</span>
|
858
|
-
|
859
|
-
|
860
|
-
<span class='type'>(<tt>Mamertes::Command</tt>)</span>
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
—
|
865
|
-
<div class='inline'><p>The current Mamertes command.</p>
|
866
|
-
</div>
|
867
|
-
|
868
|
-
</li>
|
869
|
-
|
870
|
-
<li>
|
871
|
-
|
872
|
-
<span class='name'>force</span>
|
873
|
-
|
874
|
-
|
875
|
-
<span class='type'>(<tt>Boolean</tt>)</span>
|
876
|
-
|
877
|
-
|
878
|
-
<em class="default">(defaults to: <tt>false</tt>)</em>
|
879
|
-
|
880
|
-
|
881
|
-
—
|
882
|
-
<div class='inline'><p>If to force recreation of the instance.</p>
|
883
|
-
</div>
|
884
|
-
|
885
|
-
</li>
|
886
|
-
|
887
|
-
</ul>
|
888
|
-
|
889
977
|
<p class="tag_title">Returns:</p>
|
890
978
|
<ul class="return">
|
891
979
|
|
892
980
|
<li>
|
893
981
|
|
894
982
|
|
895
|
-
<span class='type'>(<tt
|
983
|
+
<span class='type'>(<tt>Mamertes::Command</tt>)</span>
|
896
984
|
|
897
985
|
|
898
986
|
|
899
987
|
—
|
900
|
-
<div class='inline'><p>The
|
988
|
+
<div class='inline'><p>The Mamertes command.</p>
|
901
989
|
</div>
|
902
990
|
|
903
991
|
</li>
|
@@ -910,108 +998,347 @@
|
|
910
998
|
<pre class="lines">
|
911
999
|
|
912
1000
|
|
1001
|
+
270
|
1002
|
+
271
|
1003
|
+
272
|
1004
|
+
273
|
1005
|
+
274
|
1006
|
+
275
|
1007
|
+
276
|
1008
|
+
277
|
1009
|
+
278
|
1010
|
+
279
|
1011
|
+
280
|
1012
|
+
281
|
1013
|
+
282
|
1014
|
+
283
|
1015
|
+
284
|
1016
|
+
285
|
1017
|
+
286
|
1018
|
+
287
|
1019
|
+
288
|
1020
|
+
289
|
1021
|
+
290
|
1022
|
+
291
|
1023
|
+
292
|
1024
|
+
293
|
1025
|
+
294
|
1026
|
+
295
|
1027
|
+
296
|
1028
|
+
297
|
1029
|
+
298
|
1030
|
+
299
|
1031
|
+
300
|
1032
|
+
301
|
1033
|
+
302
|
1034
|
+
303
|
913
1035
|
304
|
914
1036
|
305
|
915
1037
|
306
|
916
|
-
307
|
1038
|
+
307
|
1039
|
+
308
|
1040
|
+
309
|
1041
|
+
310
|
1042
|
+
311
|
1043
|
+
312
|
1044
|
+
313
|
1045
|
+
314
|
1046
|
+
315
|
1047
|
+
316
|
1048
|
+
317
|
1049
|
+
318
|
1050
|
+
319
|
1051
|
+
320
|
1052
|
+
321
|
1053
|
+
322
|
1054
|
+
323
|
1055
|
+
324
|
1056
|
+
325
|
1057
|
+
326
|
1058
|
+
327
|
1059
|
+
328
|
1060
|
+
329
|
1061
|
+
330
|
1062
|
+
331
|
1063
|
+
332
|
1064
|
+
333
|
1065
|
+
334
|
1066
|
+
335
|
1067
|
+
336
|
1068
|
+
337
|
1069
|
+
338
|
1070
|
+
339
|
1071
|
+
340
|
1072
|
+
341
|
1073
|
+
342
|
1074
|
+
343
|
1075
|
+
344
|
1076
|
+
345
|
1077
|
+
346
|
1078
|
+
347
|
1079
|
+
348
|
1080
|
+
349
|
1081
|
+
350
|
1082
|
+
351
|
1083
|
+
352
|
1084
|
+
353
|
1085
|
+
354
|
1086
|
+
355
|
1087
|
+
356
|
1088
|
+
357
|
1089
|
+
358
|
1090
|
+
359
|
1091
|
+
360
|
1092
|
+
361
|
1093
|
+
362
|
1094
|
+
363
|
1095
|
+
364
|
1096
|
+
365
|
1097
|
+
366
|
1098
|
+
367
|
1099
|
+
368
|
1100
|
+
369
|
1101
|
+
370
|
1102
|
+
371
|
1103
|
+
372
|
1104
|
+
373
|
1105
|
+
374
|
1106
|
+
375
|
1107
|
+
376
|
1108
|
+
377
|
1109
|
+
378
|
1110
|
+
379
|
1111
|
+
380
|
1112
|
+
381
|
1113
|
+
382
|
1114
|
+
383
|
1115
|
+
384
|
1116
|
+
385
|
1117
|
+
386
|
1118
|
+
387
|
1119
|
+
388
|
1120
|
+
389
|
1121
|
+
390
|
1122
|
+
391
|
1123
|
+
392
|
1124
|
+
393
|
1125
|
+
394
|
1126
|
+
395
|
1127
|
+
396
|
1128
|
+
397
|
1129
|
+
398
|
1130
|
+
399
|
1131
|
+
400
|
1132
|
+
401
|
1133
|
+
402
|
1134
|
+
403
|
1135
|
+
404
|
1136
|
+
405
|
1137
|
+
406
|
1138
|
+
407
|
1139
|
+
408
|
1140
|
+
409
|
1141
|
+
410
|
1142
|
+
411
|
1143
|
+
412
|
1144
|
+
413
|
1145
|
+
414
|
1146
|
+
415
|
1147
|
+
416
|
1148
|
+
417
|
1149
|
+
418
|
1150
|
+
419
|
1151
|
+
420
|
1152
|
+
421
|
1153
|
+
422
|
1154
|
+
423
|
1155
|
+
424
|
1156
|
+
425
|
1157
|
+
426
|
1158
|
+
427
|
1159
|
+
428
|
1160
|
+
429
|
1161
|
+
430
|
1162
|
+
431
|
1163
|
+
432</pre>
|
917
1164
|
</td>
|
918
1165
|
<td>
|
919
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
1166
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 270</span>
|
920
1167
|
|
921
|
-
<span class='kw'>
|
922
|
-
<span class='
|
923
|
-
<span class='
|
924
|
-
<span class='
|
925
|
-
</td>
|
926
|
-
</tr>
|
927
|
-
</table>
|
928
|
-
</div>
|
929
|
-
|
930
|
-
</div>
|
1168
|
+
<span class='kw'>class</span> <span class='const'>Application</span>
|
1169
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:config</span>
|
1170
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:command</span>
|
1171
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:logger</span>
|
931
1172
|
|
932
|
-
<
|
933
|
-
|
1173
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>I18n</span>
|
1174
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>General</span>
|
1175
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>System</span>
|
934
1176
|
|
935
|
-
|
936
|
-
|
937
|
-
<
|
938
|
-
|
939
|
-
|
940
|
-
|
1177
|
+
<span class='comment'># Creates a new application.
|
1178
|
+
</span> <span class='comment'>#
|
1179
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
1180
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
1181
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1182
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n_setup'>i18n_setup</span><span class='lparen'>(</span><span class='symbol'>:akaer</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1183
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
941
1184
|
|
942
|
-
|
1185
|
+
<span class='ivar'>@command</span> <span class='op'>=</span> <span class='id identifier rubyid_command'>command</span>
|
1186
|
+
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_get_options'>get_options</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span>
|
943
1187
|
|
944
|
-
|
945
|
-
</
|
946
|
-
|
947
|
-
<p>Adds aliases to the interface.</p>
|
1188
|
+
<span class='comment'># Setup logger
|
1189
|
+
</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_start_time'>start_time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span>
|
1190
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>log_file</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_default_file'>default_file</span><span class='comma'>,</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='rparen'>)</span>
|
948
1191
|
|
1192
|
+
<span class='comment'># Open configuration
|
1193
|
+
</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
949
1194
|
|
950
|
-
|
951
|
-
</
|
952
|
-
<div class="tags">
|
953
|
-
|
954
|
-
<p class="tag_title">Returns:</p>
|
955
|
-
<ul class="return">
|
956
|
-
|
957
|
-
<li>
|
958
|
-
|
959
|
-
|
960
|
-
<span class='type'>(<tt>Boolean</tt>)</span>
|
961
|
-
|
962
|
-
|
963
|
-
|
964
|
-
—
|
965
|
-
<div class='inline'><p><code>true</code> if action succedeed, <code>false</code> otherwise.</p>
|
966
|
-
</div>
|
967
|
-
|
968
|
-
</li>
|
969
|
-
|
970
|
-
</ul>
|
1195
|
+
<span class='kw'>self</span>
|
1196
|
+
<span class='kw'>end</span>
|
971
1197
|
|
972
|
-
|
973
|
-
<
|
974
|
-
|
975
|
-
|
1198
|
+
<span class='comment'># Checks if and address is a valid IPv4 address.
|
1199
|
+
</span> <span class='comment'>#
|
1200
|
+
</span> <span class='comment'># @param address [String] The address to check.
|
1201
|
+
</span> <span class='comment'># @return [Boolean] `true` if the address is a valid IPv4 address, `false` otherwise.
|
1202
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
1203
|
+
<span class='id identifier rubyid_address'>address</span> <span class='op'>=</span> <span class='id identifier rubyid_address'>address</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
976
1204
|
|
1205
|
+
<span class='id identifier rubyid_mo'>mo</span> <span class='op'>=</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\Z</span><span class='regexp_end'>/</span></span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
1206
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_mo'>mo</span> <span class='op'>&&</span> <span class='id identifier rubyid_mo'>mo</span><span class='period'>.</span><span class='id identifier rubyid_captures'>captures</span><span class='period'>.</span><span class='id identifier rubyid_all?'>all?</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='op'><</span> <span class='int'>256</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
|
1207
|
+
<span class='kw'>end</span>
|
977
1208
|
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
|
-
|
984
|
-
|
985
|
-
|
986
|
-
|
987
|
-
|
988
|
-
|
989
|
-
|
990
|
-
|
991
|
-
|
992
|
-
<
|
993
|
-
|
994
|
-
|
995
|
-
|
996
|
-
|
997
|
-
<span class='kw'>
|
998
|
-
|
999
|
-
|
1000
|
-
|
1001
|
-
|
1002
|
-
<span class='
|
1003
|
-
|
1209
|
+
<span class='comment'># Checks if and address is a valid IPv6 address.
|
1210
|
+
</span> <span class='comment'>#
|
1211
|
+
</span> <span class='comment'># @param address [String] The address to check.
|
1212
|
+
</span> <span class='comment'># @return [Boolean] `true` if the address is a valid IPv6 address, `false` otherwise.
|
1213
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_is_ipv6?'>is_ipv6?</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
1214
|
+
<span class='id identifier rubyid_address'>address</span> <span class='op'>=</span> <span class='id identifier rubyid_address'>address</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1215
|
+
|
1216
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_catch'>catch</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
1217
|
+
<span class='comment'># IPv6 (normal)
|
1218
|
+
</span> <span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*\Z</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span>
|
1219
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span>
|
1220
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span>
|
1221
|
+
<span class='comment'># IPv6 (IPv4 compat)
|
1222
|
+
</span> <span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span> <span class='op'>&&</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='backref'>$'</span><span class='rparen'>)</span>
|
1223
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span> <span class='op'>&&</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='backref'>$'</span><span class='rparen'>)</span>
|
1224
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span> <span class='op'>&&</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='backref'>$'</span><span class='rparen'>)</span>
|
1225
|
+
|
1226
|
+
<span class='kw'>false</span>
|
1227
|
+
<span class='kw'>end</span>
|
1228
|
+
<span class='kw'>end</span>
|
1229
|
+
|
1230
|
+
|
1231
|
+
<span class='comment'># Pads a number to make it print friendly.
|
1232
|
+
</span> <span class='comment'>#
|
1233
|
+
</span> <span class='comment'># @param num [Fixnum] The number to pad.
|
1234
|
+
</span> <span class='comment'># @param len [Fixnum] The minimum length of the padded string.
|
1235
|
+
</span> <span class='comment'># @return [String] The padded number.
|
1236
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_pad_number'>pad_number</span><span class='lparen'>(</span><span class='id identifier rubyid_num'>num</span><span class='comma'>,</span> <span class='id identifier rubyid_len'>len</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1237
|
+
<span class='id identifier rubyid_num'>num</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_rjust'>rjust</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_len'>len</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='comma'>,</span> <span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>0</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1238
|
+
<span class='kw'>end</span>
|
1239
|
+
|
1240
|
+
<span class='comment'># Gets the current logger of the application.
|
1241
|
+
</span> <span class='comment'>#
|
1242
|
+
</span> <span class='comment'># @return [Logger] The current logger of the application.
|
1243
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_get_logger'>get_logger</span>
|
1244
|
+
<span class='ivar'>@logger</span> <span class='op'>||=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_file'>log_file</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_level'>log_level</span><span class='comma'>,</span> <span class='ivar'>@log_formatter</span><span class='rparen'>)</span>
|
1004
1245
|
<span class='kw'>end</span>
|
1246
|
+
|
1247
|
+
<span class='comment'># Gets the path for the launch agent file.
|
1248
|
+
</span> <span class='comment'>#
|
1249
|
+
</span> <span class='comment'># @param name [String] The base name for the agent.
|
1250
|
+
</span> <span class='comment'># @return [String] The path for the launch agent file.
|
1251
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_launch_agent_path'>launch_agent_path</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>it.cowtech.akaer</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1252
|
+
<span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>HOME</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/Library/LaunchAgents/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='rbrace'>}</span><span class='tstring_content'>.plist</span><span class='tstring_end'>"</span></span>
|
1253
|
+
<span class='kw'>end</span>
|
1254
|
+
|
1255
|
+
<span class='comment'># Executes a shell command.
|
1256
|
+
</span> <span class='comment'>#
|
1257
|
+
</span> <span class='comment'># @param command [String] The command to execute.
|
1258
|
+
</span> <span class='comment'># @return [Boolean] `true` if command succeeded, `false` otherwise.
|
1259
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_command'>execute_command</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
1260
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_system'>system</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
1261
|
+
<span class='kw'>end</span>
|
1262
|
+
|
1263
|
+
<span class='comment'># Computes the list of address to manage.
|
1264
|
+
</span> <span class='comment'>#
|
1265
|
+
</span> <span class='comment'># @param type [Symbol] The type of addresses to consider. Valid values are `:ipv4`, `:ipv6`, otherwise all addresses are considered.
|
1266
|
+
</span> <span class='comment'># @return [Array] The list of addresses to add or remove from the interface.
|
1267
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_compute_addresses'>compute_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:all</span><span class='rparen'>)</span>
|
1268
|
+
<span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span>
|
1269
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_addresses'>addresses</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='id identifier rubyid_filter_addresses'>filter_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_generate_addresses'>generate_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
1270
|
+
<span class='kw'>end</span>
|
1271
|
+
|
1272
|
+
<span class='comment'># Returns a unique (singleton) instance of the application.
|
1273
|
+
</span> <span class='comment'>#
|
1274
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
1275
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
1276
|
+
</span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
|
1277
|
+
</span> <span class='comment'># @return [Application] The unique (singleton) instance of the application.
|
1278
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1279
|
+
<span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
|
1280
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1281
|
+
<span class='kw'>end</span>
|
1282
|
+
|
1283
|
+
<span class='id identifier rubyid_private'>private</span>
|
1284
|
+
<span class='comment'># Reads the configuration.
|
1285
|
+
</span> <span class='comment'>#
|
1286
|
+
</span> <span class='comment'># @param options [Hash] The options to read.
|
1287
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
1288
|
+
<span class='kw'>begin</span>
|
1289
|
+
<span class='ivar'>@config</span> <span class='op'>=</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>Configuration</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>configuration</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='ivar'>@logger</span><span class='rparen'>)</span>
|
1290
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
1291
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_get_logger'>get_logger</span>
|
1292
|
+
<span class='kw'>rescue</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>InvalidConfiguration</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1293
|
+
<span class='ivar'>@logger</span> <span class='op'>?</span> <span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span><span class='period'>.</span><span class='id identifier rubyid_logging_failed'>logging_failed</span><span class='lparen'>(</span><span class='id identifier rubyid_log_file'>log_file</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1294
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='op'>::</span><span class='const'>SystemExit</span>
|
1295
|
+
<span class='kw'>end</span>
|
1296
|
+
<span class='kw'>end</span>
|
1297
|
+
|
1298
|
+
<span class='comment'># Filters a list of addresses to return just certain type(s).
|
1299
|
+
</span> <span class='comment'>#
|
1300
|
+
</span> <span class='comment'># @param config [Configuration] The current configuration.
|
1301
|
+
</span> <span class='comment'># @param type [Symbol] The type of addresses to return.
|
1302
|
+
</span> <span class='comment'># @return [Array] A list of IPs.
|
1303
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_filter_addresses'>filter_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
1304
|
+
<span class='id identifier rubyid_filters'>filters</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:ipv4</span><span class='comma'>,</span> <span class='symbol'>:ipv6</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='id identifier rubyid_i'>i</span> <span class='op'>||</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:all</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span>
|
1305
|
+
|
1306
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_addresses'>addresses</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_address'>address</span><span class='op'>|</span>
|
1307
|
+
<span class='id identifier rubyid_filters'>filters</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_filter'>filter</span><span class='op'>|</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>is_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filter'>filter</span><span class='rbrace'>}</span><span class='tstring_content'>?</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
1308
|
+
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
1309
|
+
<span class='kw'>end</span>
|
1310
|
+
|
1311
|
+
<span class='comment'># Generates a list of addresses which are immediate successors of a start address.
|
1312
|
+
</span> <span class='comment'>#
|
1313
|
+
</span> <span class='comment'># @param config [Configuration] The current configuration.
|
1314
|
+
</span> <span class='comment'># @param type [Symbol] The type of addresses to return.
|
1315
|
+
</span> <span class='comment'># @return [Array] A list of IPs.
|
1316
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_generate_addresses'>generate_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
1317
|
+
<span class='kw'>begin</span>
|
1318
|
+
<span class='id identifier rubyid_ip'>ip</span> <span class='op'>=</span> <span class='const'>IPAddr</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_start_address'>start_address</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span>
|
1319
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span> <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='symbol'>:all</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_ip'>ip</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='rbrace'>}</span><span class='tstring_content'>?</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1320
|
+
|
1321
|
+
<span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_aliases'>aliases</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_aliases'>aliases</span> <span class='op'>:</span> <span class='int'>5</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_times'>times</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
|
1322
|
+
<span class='id identifier rubyid_current'>current</span> <span class='op'>=</span> <span class='id identifier rubyid_ip'>ip</span>
|
1323
|
+
<span class='id identifier rubyid_ip'>ip</span> <span class='op'>=</span> <span class='id identifier rubyid_ip'>ip</span><span class='period'>.</span><span class='id identifier rubyid_succ'>succ</span>
|
1324
|
+
<span class='id identifier rubyid_current'>current</span>
|
1325
|
+
<span class='rbrace'>}</span>
|
1326
|
+
<span class='kw'>rescue</span> <span class='const'>ArgumentError</span>
|
1327
|
+
<span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1328
|
+
<span class='kw'>end</span>
|
1329
|
+
<span class='kw'>end</span>
|
1005
1330
|
<span class='kw'>end</span></pre>
|
1006
1331
|
</td>
|
1007
1332
|
</tr>
|
1008
1333
|
</table>
|
1009
1334
|
</div>
|
1010
1335
|
|
1336
|
+
|
1337
|
+
<span id="config=-instance_method"></span>
|
1011
1338
|
<div class="method_details ">
|
1012
|
-
<h3 class="signature " id="
|
1339
|
+
<h3 class="signature " id="config-instance_method">
|
1013
1340
|
|
1014
|
-
- (<tt>
|
1341
|
+
- (<tt><span class='object_link'><a href="Configuration.html" title="Akaer::Configuration (class)">Configuration</a></span></tt>) <strong>config</strong>
|
1015
1342
|
|
1016
1343
|
|
1017
1344
|
|
@@ -1019,7 +1346,7 @@
|
|
1019
1346
|
|
1020
1347
|
</h3><div class="docstring">
|
1021
1348
|
<div class="discussion">
|
1022
|
-
<p>
|
1349
|
+
<p>The <span class='object_link'><a href="Configuration.html" title="Akaer::Configuration (class)">Configuration</a></span> of this application.</p>
|
1023
1350
|
|
1024
1351
|
|
1025
1352
|
</div>
|
@@ -1032,12 +1359,12 @@
|
|
1032
1359
|
<li>
|
1033
1360
|
|
1034
1361
|
|
1035
|
-
<span class='type'>(<tt>
|
1362
|
+
<span class='type'>(<tt><span class='object_link'><a href="Configuration.html" title="Akaer::Configuration (class)">Configuration</a></span></tt>)</span>
|
1036
1363
|
|
1037
1364
|
|
1038
1365
|
|
1039
1366
|
—
|
1040
|
-
<div class='inline'><p
|
1367
|
+
<div class='inline'><p>The <span class='object_link'><a href="Configuration.html" title="Akaer::Configuration (class)">Configuration</a></span> of this application.</p>
|
1041
1368
|
</div>
|
1042
1369
|
|
1043
1370
|
</li>
|
@@ -1050,91 +1377,347 @@
|
|
1050
1377
|
<pre class="lines">
|
1051
1378
|
|
1052
1379
|
|
1053
|
-
|
1054
|
-
|
1055
|
-
|
1056
|
-
|
1057
|
-
|
1058
|
-
|
1059
|
-
|
1060
|
-
|
1061
|
-
|
1062
|
-
|
1063
|
-
|
1064
|
-
|
1065
|
-
|
1066
|
-
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1071
|
-
|
1072
|
-
|
1073
|
-
|
1074
|
-
|
1075
|
-
|
1076
|
-
|
1077
|
-
|
1078
|
-
|
1079
|
-
|
1080
|
-
|
1081
|
-
|
1082
|
-
|
1083
|
-
|
1084
|
-
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1380
|
+
270
|
1381
|
+
271
|
1382
|
+
272
|
1383
|
+
273
|
1384
|
+
274
|
1385
|
+
275
|
1386
|
+
276
|
1387
|
+
277
|
1388
|
+
278
|
1389
|
+
279
|
1390
|
+
280
|
1391
|
+
281
|
1392
|
+
282
|
1393
|
+
283
|
1394
|
+
284
|
1395
|
+
285
|
1396
|
+
286
|
1397
|
+
287
|
1398
|
+
288
|
1399
|
+
289
|
1400
|
+
290
|
1401
|
+
291
|
1402
|
+
292
|
1403
|
+
293
|
1404
|
+
294
|
1405
|
+
295
|
1406
|
+
296
|
1407
|
+
297
|
1408
|
+
298
|
1409
|
+
299
|
1410
|
+
300
|
1411
|
+
301
|
1412
|
+
302
|
1413
|
+
303
|
1414
|
+
304
|
1415
|
+
305
|
1416
|
+
306
|
1417
|
+
307
|
1418
|
+
308
|
1419
|
+
309
|
1420
|
+
310
|
1421
|
+
311
|
1422
|
+
312
|
1423
|
+
313
|
1424
|
+
314
|
1425
|
+
315
|
1426
|
+
316
|
1427
|
+
317
|
1428
|
+
318
|
1429
|
+
319
|
1430
|
+
320
|
1431
|
+
321
|
1432
|
+
322
|
1433
|
+
323
|
1434
|
+
324
|
1435
|
+
325
|
1436
|
+
326
|
1437
|
+
327
|
1438
|
+
328
|
1439
|
+
329
|
1440
|
+
330
|
1441
|
+
331
|
1442
|
+
332
|
1443
|
+
333
|
1444
|
+
334
|
1445
|
+
335
|
1446
|
+
336
|
1447
|
+
337
|
1448
|
+
338
|
1449
|
+
339
|
1450
|
+
340
|
1451
|
+
341
|
1452
|
+
342
|
1453
|
+
343
|
1454
|
+
344
|
1455
|
+
345
|
1456
|
+
346
|
1457
|
+
347
|
1458
|
+
348
|
1459
|
+
349
|
1460
|
+
350
|
1461
|
+
351
|
1462
|
+
352
|
1463
|
+
353
|
1464
|
+
354
|
1465
|
+
355
|
1466
|
+
356
|
1467
|
+
357
|
1468
|
+
358
|
1469
|
+
359
|
1470
|
+
360
|
1471
|
+
361
|
1472
|
+
362
|
1473
|
+
363
|
1474
|
+
364
|
1475
|
+
365
|
1476
|
+
366
|
1477
|
+
367
|
1478
|
+
368
|
1479
|
+
369
|
1480
|
+
370
|
1481
|
+
371
|
1482
|
+
372
|
1483
|
+
373
|
1484
|
+
374
|
1485
|
+
375
|
1486
|
+
376
|
1487
|
+
377
|
1488
|
+
378
|
1489
|
+
379
|
1490
|
+
380
|
1491
|
+
381
|
1492
|
+
382
|
1493
|
+
383
|
1494
|
+
384
|
1495
|
+
385
|
1496
|
+
386
|
1497
|
+
387
|
1498
|
+
388
|
1499
|
+
389
|
1500
|
+
390
|
1501
|
+
391
|
1502
|
+
392
|
1503
|
+
393
|
1504
|
+
394
|
1505
|
+
395
|
1506
|
+
396
|
1507
|
+
397
|
1508
|
+
398
|
1509
|
+
399
|
1510
|
+
400
|
1511
|
+
401
|
1512
|
+
402
|
1513
|
+
403
|
1514
|
+
404
|
1515
|
+
405
|
1516
|
+
406
|
1517
|
+
407
|
1518
|
+
408
|
1519
|
+
409
|
1520
|
+
410
|
1521
|
+
411
|
1522
|
+
412
|
1523
|
+
413
|
1524
|
+
414
|
1525
|
+
415
|
1526
|
+
416
|
1527
|
+
417
|
1528
|
+
418
|
1529
|
+
419
|
1530
|
+
420
|
1531
|
+
421
|
1532
|
+
422
|
1533
|
+
423
|
1534
|
+
424
|
1535
|
+
425
|
1536
|
+
426
|
1537
|
+
427
|
1538
|
+
428
|
1539
|
+
429
|
1540
|
+
430
|
1541
|
+
431
|
1542
|
+
432</pre>
|
1089
1543
|
</td>
|
1090
1544
|
<td>
|
1091
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
1545
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 270</span>
|
1546
|
+
|
1547
|
+
<span class='kw'>class</span> <span class='const'>Application</span>
|
1548
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:config</span>
|
1549
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:command</span>
|
1550
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:logger</span>
|
1551
|
+
|
1552
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>I18n</span>
|
1553
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>General</span>
|
1554
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>System</span>
|
1555
|
+
|
1556
|
+
<span class='comment'># Creates a new application.
|
1557
|
+
</span> <span class='comment'>#
|
1558
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
1559
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
1560
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1561
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n_setup'>i18n_setup</span><span class='lparen'>(</span><span class='symbol'>:akaer</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1562
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
1563
|
+
|
1564
|
+
<span class='ivar'>@command</span> <span class='op'>=</span> <span class='id identifier rubyid_command'>command</span>
|
1565
|
+
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_get_options'>get_options</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span>
|
1566
|
+
|
1567
|
+
<span class='comment'># Setup logger
|
1568
|
+
</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_start_time'>start_time</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id identifier rubyid_now'>now</span>
|
1569
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>log_file</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_default_file'>default_file</span><span class='comma'>,</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='rparen'>)</span>
|
1570
|
+
|
1571
|
+
<span class='comment'># Open configuration
|
1572
|
+
</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
1573
|
+
|
1574
|
+
<span class='kw'>self</span>
|
1575
|
+
<span class='kw'>end</span>
|
1576
|
+
|
1577
|
+
<span class='comment'># Checks if and address is a valid IPv4 address.
|
1578
|
+
</span> <span class='comment'>#
|
1579
|
+
</span> <span class='comment'># @param address [String] The address to check.
|
1580
|
+
</span> <span class='comment'># @return [Boolean] `true` if the address is a valid IPv4 address, `false` otherwise.
|
1581
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
1582
|
+
<span class='id identifier rubyid_address'>address</span> <span class='op'>=</span> <span class='id identifier rubyid_address'>address</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1583
|
+
|
1584
|
+
<span class='id identifier rubyid_mo'>mo</span> <span class='op'>=</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\Z</span><span class='regexp_end'>/</span></span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
1585
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_mo'>mo</span> <span class='op'>&&</span> <span class='id identifier rubyid_mo'>mo</span><span class='period'>.</span><span class='id identifier rubyid_captures'>captures</span><span class='period'>.</span><span class='id identifier rubyid_all?'>all?</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_to_i'>to_i</span> <span class='op'><</span> <span class='int'>256</span><span class='rbrace'>}</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
|
1586
|
+
<span class='kw'>end</span>
|
1092
1587
|
|
1093
|
-
<span class='
|
1094
|
-
|
1588
|
+
<span class='comment'># Checks if and address is a valid IPv6 address.
|
1589
|
+
</span> <span class='comment'>#
|
1590
|
+
</span> <span class='comment'># @param address [String] The address to check.
|
1591
|
+
</span> <span class='comment'># @return [Boolean] `true` if the address is a valid IPv6 address, `false` otherwise.
|
1592
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_is_ipv6?'>is_ipv6?</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
1593
|
+
<span class='id identifier rubyid_address'>address</span> <span class='op'>=</span> <span class='id identifier rubyid_address'>address</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
1594
|
+
|
1595
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_catch'>catch</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
1596
|
+
<span class='comment'># IPv6 (normal)
|
1597
|
+
</span> <span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*\Z</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span>
|
1598
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span>
|
1599
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*)?\Z</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span>
|
1600
|
+
<span class='comment'># IPv6 (IPv4 compat)
|
1601
|
+
</span> <span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span> <span class='op'>&&</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='backref'>$'</span><span class='rparen'>)</span>
|
1602
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A[\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span> <span class='op'>&&</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='backref'>$'</span><span class='rparen'>)</span>
|
1603
|
+
<span class='id identifier rubyid_throw'>throw</span><span class='lparen'>(</span><span class='symbol'>:valid</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\A::([\dA-Fa-f]{1,4}(:[\dA-Fa-f]{1,4})*:)?</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id identifier rubyid_address'>address</span> <span class='op'>&&</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='backref'>$'</span><span class='rparen'>)</span>
|
1604
|
+
|
1605
|
+
<span class='kw'>false</span>
|
1606
|
+
<span class='kw'>end</span>
|
1607
|
+
<span class='kw'>end</span>
|
1095
1608
|
|
1096
|
-
|
1097
|
-
|
1098
|
-
|
1609
|
+
|
1610
|
+
<span class='comment'># Pads a number to make it print friendly.
|
1611
|
+
</span> <span class='comment'>#
|
1612
|
+
</span> <span class='comment'># @param num [Fixnum] The number to pad.
|
1613
|
+
</span> <span class='comment'># @param len [Fixnum] The minimum length of the padded string.
|
1614
|
+
</span> <span class='comment'># @return [String] The padded number.
|
1615
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_pad_number'>pad_number</span><span class='lparen'>(</span><span class='id identifier rubyid_num'>num</span><span class='comma'>,</span> <span class='id identifier rubyid_len'>len</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
1616
|
+
<span class='id identifier rubyid_num'>num</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_rjust'>rjust</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_len'>len</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='comma'>,</span> <span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>0</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1099
1617
|
<span class='kw'>end</span>
|
1100
1618
|
|
1101
|
-
<span class='
|
1619
|
+
<span class='comment'># Gets the current logger of the application.
|
1620
|
+
</span> <span class='comment'>#
|
1621
|
+
</span> <span class='comment'># @return [Logger] The current logger of the application.
|
1622
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_get_logger'>get_logger</span>
|
1623
|
+
<span class='ivar'>@logger</span> <span class='op'>||=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_file'>log_file</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_level'>log_level</span><span class='comma'>,</span> <span class='ivar'>@log_formatter</span><span class='rparen'>)</span>
|
1624
|
+
<span class='kw'>end</span>
|
1102
1625
|
|
1103
|
-
<span class='
|
1104
|
-
|
1626
|
+
<span class='comment'># Gets the path for the launch agent file.
|
1627
|
+
</span> <span class='comment'>#
|
1628
|
+
</span> <span class='comment'># @param name [String] The base name for the agent.
|
1629
|
+
</span> <span class='comment'># @return [String] The path for the launch agent file.
|
1630
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_launch_agent_path'>launch_agent_path</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>it.cowtech.akaer</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1631
|
+
<span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>HOME</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/Library/LaunchAgents/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='rbrace'>}</span><span class='tstring_content'>.plist</span><span class='tstring_end'>"</span></span>
|
1632
|
+
<span class='kw'>end</span>
|
1105
1633
|
|
1106
|
-
|
1634
|
+
<span class='comment'># Executes a shell command.
|
1635
|
+
</span> <span class='comment'>#
|
1636
|
+
</span> <span class='comment'># @param command [String] The command to execute.
|
1637
|
+
</span> <span class='comment'># @return [Boolean] `true` if command succeeded, `false` otherwise.
|
1638
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_command'>execute_command</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
1639
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_system'>system</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
1640
|
+
<span class='kw'>end</span>
|
1107
1641
|
|
1108
|
-
|
1109
|
-
|
1110
|
-
|
1111
|
-
|
1112
|
-
|
1113
|
-
<span class='
|
1114
|
-
|
1115
|
-
<span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_error'>error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Cannot create the launch agent.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_quiet'>quiet</span>
|
1116
|
-
<span class='kw'>return</span> <span class='kw'>false</span>
|
1642
|
+
<span class='comment'># Computes the list of address to manage.
|
1643
|
+
</span> <span class='comment'>#
|
1644
|
+
</span> <span class='comment'># @param type [Symbol] The type of addresses to consider. Valid values are `:ipv4`, `:ipv6`, otherwise all addresses are considered.
|
1645
|
+
</span> <span class='comment'># @return [Array] The list of addresses to add or remove from the interface.
|
1646
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_compute_addresses'>compute_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:all</span><span class='rparen'>)</span>
|
1647
|
+
<span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span>
|
1648
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_addresses'>addresses</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='id identifier rubyid_filter_addresses'>filter_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_generate_addresses'>generate_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
1117
1649
|
<span class='kw'>end</span>
|
1118
1650
|
|
1119
|
-
<span class='
|
1120
|
-
|
1121
|
-
|
1122
|
-
|
1123
|
-
|
1124
|
-
|
1651
|
+
<span class='comment'># Returns a unique (singleton) instance of the application.
|
1652
|
+
</span> <span class='comment'>#
|
1653
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
1654
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
1655
|
+
</span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
|
1656
|
+
</span> <span class='comment'># @return [Application] The unique (singleton) instance of the application.
|
1657
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1658
|
+
<span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
|
1659
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1125
1660
|
<span class='kw'>end</span>
|
1126
1661
|
|
1127
|
-
<span class='
|
1662
|
+
<span class='id identifier rubyid_private'>private</span>
|
1663
|
+
<span class='comment'># Reads the configuration.
|
1664
|
+
</span> <span class='comment'>#
|
1665
|
+
</span> <span class='comment'># @param options [Hash] The options to read.
|
1666
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
1667
|
+
<span class='kw'>begin</span>
|
1668
|
+
<span class='ivar'>@config</span> <span class='op'>=</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>Configuration</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>configuration</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='ivar'>@logger</span><span class='rparen'>)</span>
|
1669
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
1670
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_get_logger'>get_logger</span>
|
1671
|
+
<span class='kw'>rescue</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>InvalidConfiguration</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1672
|
+
<span class='ivar'>@logger</span> <span class='op'>?</span> <span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span><span class='period'>.</span><span class='id identifier rubyid_logging_failed'>logging_failed</span><span class='lparen'>(</span><span class='id identifier rubyid_log_file'>log_file</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1673
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='op'>::</span><span class='const'>SystemExit</span>
|
1674
|
+
<span class='kw'>end</span>
|
1675
|
+
<span class='kw'>end</span>
|
1676
|
+
|
1677
|
+
<span class='comment'># Filters a list of addresses to return just certain type(s).
|
1678
|
+
</span> <span class='comment'>#
|
1679
|
+
</span> <span class='comment'># @param config [Configuration] The current configuration.
|
1680
|
+
</span> <span class='comment'># @param type [Symbol] The type of addresses to return.
|
1681
|
+
</span> <span class='comment'># @return [Array] A list of IPs.
|
1682
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_filter_addresses'>filter_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
1683
|
+
<span class='id identifier rubyid_filters'>filters</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='symbol'>:ipv4</span><span class='comma'>,</span> <span class='symbol'>:ipv6</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='id identifier rubyid_i'>i</span> <span class='op'>||</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:all</span> <span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span>
|
1684
|
+
|
1685
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_addresses'>addresses</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id identifier rubyid_address'>address</span><span class='op'>|</span>
|
1686
|
+
<span class='id identifier rubyid_filters'>filters</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_filter'>filter</span><span class='op'>|</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>is_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filter'>filter</span><span class='rbrace'>}</span><span class='tstring_content'>?</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
1687
|
+
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
1688
|
+
<span class='kw'>end</span>
|
1689
|
+
|
1690
|
+
<span class='comment'># Generates a list of addresses which are immediate successors of a start address.
|
1691
|
+
</span> <span class='comment'>#
|
1692
|
+
</span> <span class='comment'># @param config [Configuration] The current configuration.
|
1693
|
+
</span> <span class='comment'># @param type [Symbol] The type of addresses to return.
|
1694
|
+
</span> <span class='comment'># @return [Array] A list of IPs.
|
1695
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_generate_addresses'>generate_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
1696
|
+
<span class='kw'>begin</span>
|
1697
|
+
<span class='id identifier rubyid_ip'>ip</span> <span class='op'>=</span> <span class='const'>IPAddr</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_start_address'>start_address</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span>
|
1698
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span> <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='symbol'>:all</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_ip'>ip</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='rbrace'>}</span><span class='tstring_content'>?</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1699
|
+
|
1700
|
+
<span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_aliases'>aliases</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_aliases'>aliases</span> <span class='op'>:</span> <span class='int'>5</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_times'>times</span><span class='period'>.</span><span class='id identifier rubyid_collect'>collect</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_i'>i</span><span class='op'>|</span>
|
1701
|
+
<span class='id identifier rubyid_current'>current</span> <span class='op'>=</span> <span class='id identifier rubyid_ip'>ip</span>
|
1702
|
+
<span class='id identifier rubyid_ip'>ip</span> <span class='op'>=</span> <span class='id identifier rubyid_ip'>ip</span><span class='period'>.</span><span class='id identifier rubyid_succ'>succ</span>
|
1703
|
+
<span class='id identifier rubyid_current'>current</span>
|
1704
|
+
<span class='rbrace'>}</span>
|
1705
|
+
<span class='kw'>rescue</span> <span class='const'>ArgumentError</span>
|
1706
|
+
<span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1707
|
+
<span class='kw'>end</span>
|
1708
|
+
<span class='kw'>end</span>
|
1128
1709
|
<span class='kw'>end</span></pre>
|
1129
1710
|
</td>
|
1130
1711
|
</tr>
|
1131
1712
|
</table>
|
1132
1713
|
</div>
|
1133
1714
|
|
1715
|
+
|
1716
|
+
<span id="logger=-instance_method"></span>
|
1134
1717
|
<div class="method_details ">
|
1135
|
-
<h3 class="signature " id="
|
1718
|
+
<h3 class="signature " id="logger-instance_method">
|
1136
1719
|
|
1137
|
-
- (<tt>
|
1720
|
+
- (<tt>Object</tt>) <strong>logger</strong>
|
1138
1721
|
|
1139
1722
|
|
1140
1723
|
|
@@ -1142,30 +1725,13 @@
|
|
1142
1725
|
|
1143
1726
|
</h3><div class="docstring">
|
1144
1727
|
<div class="discussion">
|
1145
|
-
<p>
|
1728
|
+
<p>Returns the value of attribute logger</p>
|
1146
1729
|
|
1147
1730
|
|
1148
1731
|
</div>
|
1149
1732
|
</div>
|
1150
|
-
<div class="tags">
|
1151
|
-
|
1152
|
-
<p class="tag_title">Returns:</p>
|
1153
|
-
<ul class="return">
|
1154
|
-
|
1155
|
-
<li>
|
1156
|
-
|
1157
|
-
|
1158
|
-
<span class='type'>(<tt>Boolean</tt>)</span>
|
1159
|
-
|
1160
|
-
|
1161
|
-
|
1162
|
-
—
|
1163
|
-
<div class='inline'><p><code>true</code> if action succedeed, <code>false</code> otherwise.</p>
|
1164
|
-
</div>
|
1165
|
-
|
1166
|
-
</li>
|
1733
|
+
<div class="tags">
|
1167
1734
|
|
1168
|
-
</ul>
|
1169
1735
|
|
1170
1736
|
</div><table class="source_code">
|
1171
1737
|
<tr>
|
@@ -1173,43 +1739,32 @@
|
|
1173
1739
|
<pre class="lines">
|
1174
1740
|
|
1175
1741
|
|
1176
|
-
|
1177
|
-
|
1178
|
-
|
1179
|
-
217
|
1180
|
-
218
|
1181
|
-
219
|
1182
|
-
220
|
1183
|
-
221
|
1184
|
-
222
|
1185
|
-
223
|
1186
|
-
224
|
1187
|
-
225</pre>
|
1742
|
+
273
|
1743
|
+
274
|
1744
|
+
275</pre>
|
1188
1745
|
</td>
|
1189
1746
|
<td>
|
1190
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
1191
|
-
|
1192
|
-
<span class='kw'>def</span> <span class='id identifier
|
1193
|
-
<span class='
|
1194
|
-
|
1195
|
-
<span class='kw'>if</span> <span class='id identifier rubyid_addresses'>addresses</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
|
1196
|
-
<span class='comment'># Now, for every address, call the command
|
1197
|
-
</span> <span class='id identifier rubyid_addresses'>addresses</span><span class='period'>.</span><span class='id identifier rubyid_all?'>all?</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_address'>address</span><span class='op'>|</span>
|
1198
|
-
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_manage'>manage</span><span class='lparen'>(</span><span class='symbol'>:remove</span><span class='comma'>,</span> <span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
1199
|
-
<span class='rbrace'>}</span>
|
1200
|
-
<span class='kw'>else</span>
|
1201
|
-
<span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_error'>error</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>No valid addresses to remove from the interface found.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_quiet'>quiet</span>
|
1202
|
-
<span class='kw'>end</span>
|
1747
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 273</span>
|
1748
|
+
|
1749
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_logger'>logger</span>
|
1750
|
+
<span class='ivar'>@logger</span>
|
1203
1751
|
<span class='kw'>end</span></pre>
|
1204
1752
|
</td>
|
1205
1753
|
</tr>
|
1206
1754
|
</table>
|
1207
1755
|
</div>
|
1208
1756
|
|
1209
|
-
|
1210
|
-
|
1757
|
+
</div>
|
1758
|
+
|
1759
|
+
|
1760
|
+
<div id="class_method_details" class="method_details_list">
|
1761
|
+
<h2>Class Method Details</h2>
|
1762
|
+
|
1763
|
+
|
1764
|
+
<div class="method_details first">
|
1765
|
+
<h3 class="signature first" id="instance-class_method">
|
1211
1766
|
|
1212
|
-
|
1767
|
+
+ (<tt><span class='object_link'><a href="" title="Akaer::Application (class)">Application</a></span></tt>) <strong>instance</strong>(command, locale = nil, force = false)
|
1213
1768
|
|
1214
1769
|
|
1215
1770
|
|
@@ -1217,25 +1772,78 @@
|
|
1217
1772
|
|
1218
1773
|
</h3><div class="docstring">
|
1219
1774
|
<div class="discussion">
|
1220
|
-
<p>
|
1775
|
+
<p>Returns a unique (singleton) instance of the application.</p>
|
1221
1776
|
|
1222
1777
|
|
1223
1778
|
</div>
|
1224
1779
|
</div>
|
1225
1780
|
<div class="tags">
|
1781
|
+
<p class="tag_title">Parameters:</p>
|
1782
|
+
<ul class="param">
|
1783
|
+
|
1784
|
+
<li>
|
1785
|
+
|
1786
|
+
<span class='name'>command</span>
|
1787
|
+
|
1788
|
+
|
1789
|
+
<span class='type'>(<tt>Mamertes::Command</tt>)</span>
|
1790
|
+
|
1791
|
+
|
1792
|
+
|
1793
|
+
—
|
1794
|
+
<div class='inline'><p>The current Mamertes command.</p>
|
1795
|
+
</div>
|
1796
|
+
|
1797
|
+
</li>
|
1798
|
+
|
1799
|
+
<li>
|
1800
|
+
|
1801
|
+
<span class='name'>locale</span>
|
1802
|
+
|
1803
|
+
|
1804
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
1805
|
+
|
1806
|
+
|
1807
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1808
|
+
|
1809
|
+
|
1810
|
+
—
|
1811
|
+
<div class='inline'><p>The locale to use for the application.</p>
|
1812
|
+
</div>
|
1813
|
+
|
1814
|
+
</li>
|
1815
|
+
|
1816
|
+
<li>
|
1817
|
+
|
1818
|
+
<span class='name'>force</span>
|
1819
|
+
|
1820
|
+
|
1821
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1822
|
+
|
1823
|
+
|
1824
|
+
<em class="default">(defaults to: <tt>false</tt>)</em>
|
1825
|
+
|
1826
|
+
|
1827
|
+
—
|
1828
|
+
<div class='inline'><p>If to force recreation of the instance.</p>
|
1829
|
+
</div>
|
1830
|
+
|
1831
|
+
</li>
|
1226
1832
|
|
1833
|
+
</ul>
|
1834
|
+
|
1227
1835
|
<p class="tag_title">Returns:</p>
|
1228
1836
|
<ul class="return">
|
1229
1837
|
|
1230
1838
|
<li>
|
1231
1839
|
|
1232
1840
|
|
1233
|
-
<span class='type'>(<tt>
|
1841
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="Akaer::Application (class)">Application</a></span></tt>)</span>
|
1234
1842
|
|
1235
1843
|
|
1236
1844
|
|
1237
1845
|
—
|
1238
|
-
<div class='inline'><p
|
1846
|
+
<div class='inline'><p>The unique (singleton) instance of the application.</p>
|
1239
1847
|
</div>
|
1240
1848
|
|
1241
1849
|
</li>
|
@@ -1248,73 +1856,31 @@
|
|
1248
1856
|
<pre class="lines">
|
1249
1857
|
|
1250
1858
|
|
1251
|
-
|
1252
|
-
|
1253
|
-
|
1254
|
-
|
1255
|
-
274
|
1256
|
-
275
|
1257
|
-
276
|
1258
|
-
277
|
1259
|
-
278
|
1260
|
-
279
|
1261
|
-
280
|
1262
|
-
281
|
1263
|
-
282
|
1264
|
-
283
|
1265
|
-
284
|
1266
|
-
285
|
1267
|
-
286
|
1268
|
-
287
|
1269
|
-
288
|
1270
|
-
289
|
1271
|
-
290
|
1272
|
-
291
|
1273
|
-
292
|
1274
|
-
293
|
1275
|
-
294
|
1276
|
-
295
|
1277
|
-
296
|
1278
|
-
297</pre>
|
1859
|
+
380
|
1860
|
+
381
|
1861
|
+
382
|
1862
|
+
383</pre>
|
1279
1863
|
</td>
|
1280
1864
|
<td>
|
1281
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
1282
|
-
|
1283
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_action_uninstall'>action_uninstall</span>
|
1284
|
-
<span class='id identifier rubyid_logger'>logger</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_get_logger'>get_logger</span>
|
1865
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 380</span>
|
1285
1866
|
|
1286
|
-
|
1287
|
-
|
1288
|
-
|
1289
|
-
<span class='kw'>end</span>
|
1290
|
-
|
1291
|
-
<span class='id identifier rubyid_launch_agent'>launch_agent</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_launch_agent_path'>launch_agent_path</span>
|
1292
|
-
|
1293
|
-
<span class='comment'># Unload the launch agent.
|
1294
|
-
</span> <span class='kw'>begin</span>
|
1295
|
-
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_execute_command'>execute_command</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>launchctl unload -w \"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_launch_agent'>launch_agent</span><span class='rbrace'>}</span><span class='tstring_content'>\" > /dev/null 2>&1</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1296
|
-
<span class='kw'>rescue</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1297
|
-
<span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_warn'>warn</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Cannot unload the launch agent.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_quiet'>quiet</span>
|
1298
|
-
<span class='kw'>end</span>
|
1299
|
-
|
1300
|
-
<span class='comment'># Delete the launch agent.
|
1301
|
-
</span> <span class='kw'>begin</span>
|
1302
|
-
<span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Deleting the launch agent </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_launch_agent'>launch_agent</span><span class='rbrace'>}</span><span class='tstring_content'> ...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1303
|
-
<span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='id identifier rubyid_launch_agent'>launch_agent</span><span class='rparen'>)</span>
|
1304
|
-
<span class='kw'>rescue</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1305
|
-
<span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_warn'>warn</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Cannot delete the launch agent.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_quiet'>quiet</span>
|
1306
|
-
<span class='kw'>return</span> <span class='kw'>false</span>
|
1307
|
-
<span class='kw'>end</span>
|
1308
|
-
|
1309
|
-
<span class='kw'>true</span>
|
1867
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1868
|
+
<span class='ivar'>@instance</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_force'>force</span>
|
1869
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='const'>Akaer</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1310
1870
|
<span class='kw'>end</span></pre>
|
1311
1871
|
</td>
|
1312
1872
|
</tr>
|
1313
1873
|
</table>
|
1314
1874
|
</div>
|
1315
1875
|
|
1316
|
-
|
1317
|
-
|
1876
|
+
</div>
|
1877
|
+
|
1878
|
+
<div id="instance_method_details" class="method_details_list">
|
1879
|
+
<h2>Instance Method Details</h2>
|
1880
|
+
|
1881
|
+
|
1882
|
+
<div class="method_details first">
|
1883
|
+
<h3 class="signature first" id="compute_addresses-instance_method">
|
1318
1884
|
|
1319
1885
|
- (<tt>Array</tt>) <strong>compute_addresses</strong>(type = :all)
|
1320
1886
|
|
@@ -1376,61 +1942,17 @@
|
|
1376
1942
|
<pre class="lines">
|
1377
1943
|
|
1378
1944
|
|
1379
|
-
|
1380
|
-
|
1381
|
-
|
1382
|
-
|
1383
|
-
140
|
1384
|
-
141
|
1385
|
-
142
|
1386
|
-
143
|
1387
|
-
144
|
1388
|
-
145
|
1389
|
-
146
|
1390
|
-
147
|
1391
|
-
148
|
1392
|
-
149
|
1393
|
-
150
|
1394
|
-
151
|
1395
|
-
152
|
1396
|
-
153
|
1397
|
-
154
|
1398
|
-
155
|
1399
|
-
156
|
1400
|
-
157
|
1401
|
-
158
|
1402
|
-
159
|
1403
|
-
160
|
1404
|
-
161</pre>
|
1945
|
+
369
|
1946
|
+
370
|
1947
|
+
371
|
1948
|
+
372</pre>
|
1405
1949
|
</td>
|
1406
1950
|
<td>
|
1407
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
1951
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 369</span>
|
1408
1952
|
|
1409
1953
|
<span class='kw'>def</span> <span class='id identifier rubyid_compute_addresses'>compute_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='symbol'>:all</span><span class='rparen'>)</span>
|
1410
|
-
<span class='id identifier
|
1411
|
-
|
1412
|
-
<span class='kw'>if</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_addresses'>addresses</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='comment'># We have an explicit list
|
1413
|
-
</span> <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_addresses'>addresses</span>
|
1414
|
-
|
1415
|
-
<span class='comment'># Now filter the addresses
|
1416
|
-
</span> <span class='id identifier rubyid_filters'>filters</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='symbol'>:ipv6</span> <span class='op'>?</span> <span class='symbol'>:ipv4</span> <span class='op'>:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='symbol'>:ipv4</span> <span class='op'>?</span> <span class='symbol'>:ipv6</span> <span class='op'>:</span> <span class='kw'>nil</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span>
|
1417
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_select'>select</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_address'>address</span><span class='op'>|</span>
|
1418
|
-
<span class='id identifier rubyid_filters'>filters</span><span class='period'>.</span><span class='id identifier rubyid_any?'>any?</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_filter'>filter</span><span class='op'>|</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>is_</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_filter'>filter</span><span class='rbrace'>}</span><span class='tstring_content'>?</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
1419
|
-
<span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='period'>.</span><span class='id identifier rubyid_uniq'>uniq</span>
|
1420
|
-
<span class='kw'>else</span>
|
1421
|
-
<span class='kw'>begin</span>
|
1422
|
-
<span class='id identifier rubyid_ip'>ip</span> <span class='op'>=</span> <span class='const'>IPAddr</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_start_address'>start_address</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span><span class='rparen'>)</span>
|
1423
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='const'>ArgumentError</span> <span class='kw'>if</span> <span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:ipv4</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_ip'>ip</span><span class='period'>.</span><span class='id identifier rubyid_ipv4?'>ipv4?</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:ipv6</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id identifier rubyid_ip'>ip</span><span class='period'>.</span><span class='id identifier rubyid_ipv6?'>ipv6?</span><span class='rparen'>)</span>
|
1424
|
-
|
1425
|
-
<span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_aliases'>aliases</span> <span class='op'>></span> <span class='int'>0</span> <span class='op'>?</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_aliases'>aliases</span> <span class='op'>:</span> <span class='int'>5</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_times'>times</span> <span class='kw'>do</span>
|
1426
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'><<</span> <span class='id identifier rubyid_ip'>ip</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
|
1427
|
-
<span class='id identifier rubyid_ip'>ip</span> <span class='op'>=</span> <span class='id identifier rubyid_ip'>ip</span><span class='period'>.</span><span class='id identifier rubyid_succ'>succ</span>
|
1428
|
-
<span class='kw'>end</span>
|
1429
|
-
<span class='kw'>rescue</span> <span class='const'>ArgumentError</span>
|
1430
|
-
<span class='kw'>end</span>
|
1431
|
-
<span class='kw'>end</span>
|
1432
|
-
|
1433
|
-
<span class='id identifier rubyid_rv'>rv</span>
|
1954
|
+
<span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span>
|
1955
|
+
<span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_addresses'>addresses</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='id identifier rubyid_filter_addresses'>filter_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='id identifier rubyid_generate_addresses'>generate_addresses</span><span class='lparen'>(</span><span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
1434
1956
|
<span class='kw'>end</span></pre>
|
1435
1957
|
</td>
|
1436
1958
|
</tr>
|
@@ -1498,12 +2020,12 @@
|
|
1498
2020
|
<pre class="lines">
|
1499
2021
|
|
1500
2022
|
|
1501
|
-
|
1502
|
-
|
1503
|
-
|
2023
|
+
361
|
2024
|
+
362
|
2025
|
+
363</pre>
|
1504
2026
|
</td>
|
1505
2027
|
<td>
|
1506
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
2028
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 361</span>
|
1507
2029
|
|
1508
2030
|
<span class='kw'>def</span> <span class='id identifier rubyid_execute_command'>execute_command</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
1509
2031
|
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_system'>system</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
@@ -1555,12 +2077,12 @@
|
|
1555
2077
|
<pre class="lines">
|
1556
2078
|
|
1557
2079
|
|
1558
|
-
|
1559
|
-
|
1560
|
-
|
2080
|
+
345
|
2081
|
+
346
|
2082
|
+
347</pre>
|
1561
2083
|
</td>
|
1562
2084
|
<td>
|
1563
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
2085
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 345</span>
|
1564
2086
|
|
1565
2087
|
<span class='kw'>def</span> <span class='id identifier rubyid_get_logger'>get_logger</span>
|
1566
2088
|
<span class='ivar'>@logger</span> <span class='op'>||=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_file'>log_file</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_level'>log_level</span><span class='comma'>,</span> <span class='ivar'>@log_formatter</span><span class='rparen'>)</span>
|
@@ -1631,15 +2153,15 @@
|
|
1631
2153
|
<pre class="lines">
|
1632
2154
|
|
1633
2155
|
|
1634
|
-
|
1635
|
-
|
1636
|
-
|
1637
|
-
|
1638
|
-
|
1639
|
-
|
2156
|
+
304
|
2157
|
+
305
|
2158
|
+
306
|
2159
|
+
307
|
2160
|
+
308
|
2161
|
+
309</pre>
|
1640
2162
|
</td>
|
1641
2163
|
<td>
|
1642
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
2164
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 304</span>
|
1643
2165
|
|
1644
2166
|
<span class='kw'>def</span> <span class='id identifier rubyid_is_ipv4?'>is_ipv4?</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
1645
2167
|
<span class='id identifier rubyid_address'>address</span> <span class='op'>=</span> <span class='id identifier rubyid_address'>address</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
@@ -1713,25 +2235,25 @@
|
|
1713
2235
|
<pre class="lines">
|
1714
2236
|
|
1715
2237
|
|
1716
|
-
|
1717
|
-
|
1718
|
-
|
1719
|
-
|
1720
|
-
|
1721
|
-
|
1722
|
-
|
1723
|
-
|
1724
|
-
|
1725
|
-
|
1726
|
-
|
1727
|
-
|
1728
|
-
|
1729
|
-
|
1730
|
-
|
1731
|
-
|
2238
|
+
315
|
2239
|
+
316
|
2240
|
+
317
|
2241
|
+
318
|
2242
|
+
319
|
2243
|
+
320
|
2244
|
+
321
|
2245
|
+
322
|
2246
|
+
323
|
2247
|
+
324
|
2248
|
+
325
|
2249
|
+
326
|
2250
|
+
327
|
2251
|
+
328
|
2252
|
+
329
|
2253
|
+
330</pre>
|
1732
2254
|
</td>
|
1733
2255
|
<td>
|
1734
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
2256
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 315</span>
|
1735
2257
|
|
1736
2258
|
<span class='kw'>def</span> <span class='id identifier rubyid_is_ipv6?'>is_ipv6?</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
1737
2259
|
<span class='id identifier rubyid_address'>address</span> <span class='op'>=</span> <span class='id identifier rubyid_address'>address</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
|
@@ -1752,65 +2274,6 @@
|
|
1752
2274
|
</td>
|
1753
2275
|
</tr>
|
1754
2276
|
</table>
|
1755
|
-
</div>
|
1756
|
-
|
1757
|
-
<div class="method_details ">
|
1758
|
-
<h3 class="signature " id="is_osx?-instance_method">
|
1759
|
-
|
1760
|
-
- (<tt>Boolean</tt>) <strong>is_osx?</strong>
|
1761
|
-
|
1762
|
-
|
1763
|
-
|
1764
|
-
|
1765
|
-
|
1766
|
-
</h3><div class="docstring">
|
1767
|
-
<div class="discussion">
|
1768
|
-
<p>Checks if we are running on MacOS X.</p>
|
1769
|
-
|
1770
|
-
<p>System services are only available on that platform.</p>
|
1771
|
-
|
1772
|
-
|
1773
|
-
</div>
|
1774
|
-
</div>
|
1775
|
-
<div class="tags">
|
1776
|
-
|
1777
|
-
<p class="tag_title">Returns:</p>
|
1778
|
-
<ul class="return">
|
1779
|
-
|
1780
|
-
<li>
|
1781
|
-
|
1782
|
-
|
1783
|
-
<span class='type'>(<tt>Boolean</tt>)</span>
|
1784
|
-
|
1785
|
-
|
1786
|
-
|
1787
|
-
—
|
1788
|
-
<div class='inline'><p><code>true</code> if the current platform is MacOS X, <code>false</code> otherwise.</p>
|
1789
|
-
</div>
|
1790
|
-
|
1791
|
-
</li>
|
1792
|
-
|
1793
|
-
</ul>
|
1794
|
-
|
1795
|
-
</div><table class="source_code">
|
1796
|
-
<tr>
|
1797
|
-
<td>
|
1798
|
-
<pre class="lines">
|
1799
|
-
|
1800
|
-
|
1801
|
-
63
|
1802
|
-
64
|
1803
|
-
65</pre>
|
1804
|
-
</td>
|
1805
|
-
<td>
|
1806
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 63</span>
|
1807
|
-
|
1808
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_is_osx?'>is_osx?</span>
|
1809
|
-
<span class='op'>::</span><span class='const'>Config</span><span class='op'>::</span><span class='const'>CONFIG</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>host_os</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=~</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^darwin</span><span class='regexp_end'>/</span></span>
|
1810
|
-
<span class='kw'>end</span></pre>
|
1811
|
-
</td>
|
1812
|
-
</tr>
|
1813
|
-
</table>
|
1814
2277
|
</div>
|
1815
2278
|
|
1816
2279
|
<div class="method_details ">
|
@@ -1876,12 +2339,12 @@
|
|
1876
2339
|
<pre class="lines">
|
1877
2340
|
|
1878
2341
|
|
1879
|
-
|
1880
|
-
|
1881
|
-
|
2342
|
+
353
|
2343
|
+
354
|
2344
|
+
355</pre>
|
1882
2345
|
</td>
|
1883
2346
|
<td>
|
1884
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
2347
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 353</span>
|
1885
2348
|
|
1886
2349
|
<span class='kw'>def</span> <span class='id identifier rubyid_launch_agent_path'>launch_agent_path</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>it.cowtech.akaer</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1887
2350
|
<span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>HOME</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/Library/LaunchAgents/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_name'>name</span><span class='rbrace'>}</span><span class='tstring_content'>.plist</span><span class='tstring_end'>"</span></span>
|
@@ -1889,143 +2352,6 @@
|
|
1889
2352
|
</td>
|
1890
2353
|
</tr>
|
1891
2354
|
</table>
|
1892
|
-
</div>
|
1893
|
-
|
1894
|
-
<div class="method_details ">
|
1895
|
-
<h3 class="signature " id="manage-instance_method">
|
1896
|
-
|
1897
|
-
- (<tt>Boolean</tt>) <strong>manage</strong>(type, address)
|
1898
|
-
|
1899
|
-
|
1900
|
-
|
1901
|
-
|
1902
|
-
|
1903
|
-
</h3><div class="docstring">
|
1904
|
-
<div class="discussion">
|
1905
|
-
<p>Adds or removes an alias from the interface.</p>
|
1906
|
-
|
1907
|
-
|
1908
|
-
</div>
|
1909
|
-
</div>
|
1910
|
-
<div class="tags">
|
1911
|
-
<p class="tag_title">Parameters:</p>
|
1912
|
-
<ul class="param">
|
1913
|
-
|
1914
|
-
<li>
|
1915
|
-
|
1916
|
-
<span class='name'>type</span>
|
1917
|
-
|
1918
|
-
|
1919
|
-
<span class='type'>(<tt>Symbol</tt>)</span>
|
1920
|
-
|
1921
|
-
|
1922
|
-
|
1923
|
-
—
|
1924
|
-
<div class='inline'><p>The operation to execute. Can be <code>:add</code> or <code>:remove</code>.</p>
|
1925
|
-
</div>
|
1926
|
-
|
1927
|
-
</li>
|
1928
|
-
|
1929
|
-
<li>
|
1930
|
-
|
1931
|
-
<span class='name'>address</span>
|
1932
|
-
|
1933
|
-
|
1934
|
-
<span class='type'>(<tt>String</tt>)</span>
|
1935
|
-
|
1936
|
-
|
1937
|
-
|
1938
|
-
—
|
1939
|
-
<div class='inline'><p>The address to manage.</p>
|
1940
|
-
</div>
|
1941
|
-
|
1942
|
-
</li>
|
1943
|
-
|
1944
|
-
</ul>
|
1945
|
-
|
1946
|
-
<p class="tag_title">Returns:</p>
|
1947
|
-
<ul class="return">
|
1948
|
-
|
1949
|
-
<li>
|
1950
|
-
|
1951
|
-
|
1952
|
-
<span class='type'>(<tt>Boolean</tt>)</span>
|
1953
|
-
|
1954
|
-
|
1955
|
-
|
1956
|
-
—
|
1957
|
-
<div class='inline'><p><code>true</code> if operation succedeed, <code>false</code> otherwise.</p>
|
1958
|
-
</div>
|
1959
|
-
|
1960
|
-
</li>
|
1961
|
-
|
1962
|
-
</ul>
|
1963
|
-
|
1964
|
-
</div><table class="source_code">
|
1965
|
-
<tr>
|
1966
|
-
<td>
|
1967
|
-
<pre class="lines">
|
1968
|
-
|
1969
|
-
|
1970
|
-
168
|
1971
|
-
169
|
1972
|
-
170
|
1973
|
-
171
|
1974
|
-
172
|
1975
|
-
173
|
1976
|
-
174
|
1977
|
-
175
|
1978
|
-
176
|
1979
|
-
177
|
1980
|
-
178
|
1981
|
-
179
|
1982
|
-
180
|
1983
|
-
181
|
1984
|
-
182
|
1985
|
-
183
|
1986
|
-
184
|
1987
|
-
185
|
1988
|
-
186
|
1989
|
-
187
|
1990
|
-
188
|
1991
|
-
189
|
1992
|
-
190
|
1993
|
-
191
|
1994
|
-
192
|
1995
|
-
193</pre>
|
1996
|
-
</td>
|
1997
|
-
<td>
|
1998
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 168</span>
|
1999
|
-
|
2000
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_manage'>manage</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
2001
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>true</span>
|
2002
|
-
|
2003
|
-
<span class='comment'># Compute the command
|
2004
|
-
</span> <span class='id identifier rubyid_command'>command</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:remove</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_remove_command'>remove_command</span> <span class='op'>:</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_add_command'>add_command</span>
|
2005
|
-
|
2006
|
-
<span class='comment'># Interpolate
|
2007
|
-
</span> <span class='id identifier rubyid_command'>command</span> <span class='op'>=</span> <span class='id identifier rubyid_command'>command</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>@INTERFACE@</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_interface'>interface</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>@ALIAS@</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'> > /dev/null 2>&1</span><span class='tstring_end'>"</span></span>
|
2008
|
-
|
2009
|
-
<span class='comment'># Compute the prefix
|
2010
|
-
</span> <span class='ivar'>@addresses</span> <span class='op'>||=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_compute_addresses'>compute_addresses</span>
|
2011
|
-
<span class='id identifier rubyid_length'>length</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_pad_number'>pad_number</span><span class='lparen'>(</span><span class='ivar'>@addresses</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='rparen'>)</span>
|
2012
|
-
<span class='id identifier rubyid_index'>index</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='ivar'>@addresses</span><span class='period'>.</span><span class='id identifier rubyid_index'>index</span><span class='lparen'>(</span><span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='int'>0</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='int'>1</span>
|
2013
|
-
<span class='id identifier rubyid_prefix'>prefix</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>{mark=blue}[{mark=bright white}</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_pad_number'>pad_number</span><span class='lparen'>(</span><span class='id identifier rubyid_index'>index</span><span class='comma'>,</span> <span class='id identifier rubyid_length'>length</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_content'>{mark=reset blue}/{/mark}</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_length'>length</span><span class='rbrace'>}</span><span class='tstring_content'>{/mark}]{/mark}</span><span class='tstring_end'>"</span></span>
|
2014
|
-
|
2015
|
-
<span class='comment'># Now execute
|
2016
|
-
</span> <span class='kw'>if</span> <span class='op'>!</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_dry_run'>dry_run</span> <span class='kw'>then</span>
|
2017
|
-
<span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span><span class='lparen'>(</span><span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_console'>console</span><span class='period'>.</span><span class='id identifier rubyid_replace_markers'>replace_markers</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_prefix'>prefix</span><span class='rbrace'>}</span><span class='tstring_content'> {mark=bright}</span><span class='embexpr_beg'>#{</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:remove</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Removing</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Adding</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_content'>{/mark} address {mark=bright}</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_address'>address</span><span class='rbrace'>}</span><span class='tstring_content'>{/mark} </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='symbol'>:remove</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>to</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>from</span><span class='tstring_end'>"</span></span><span class='rbrace'>}</span><span class='tstring_content'> interface {mark=bright}</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_interface'>interface</span><span class='rbrace'>}</span><span class='tstring_content'>{/mark}...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_quiet'>quiet</span>
|
2018
|
-
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_execute_command'>execute_command</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='rparen'>)</span>
|
2019
|
-
<span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_error'>error</span><span class='lparen'>(</span><span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_console'>console</span><span class='period'>.</span><span class='id identifier rubyid_replace_markers'>replace_markers</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Cannot {mark=bright}</span><span class='embexpr_beg'>#{</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:remove</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>remove</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>add</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_content'>{/mark} address {mark=bright}</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_address'>address</span><span class='rbrace'>}</span><span class='tstring_content'>{/mark} </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='symbol'>:remove</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>to</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>from</span><span class='tstring_end'>"</span></span><span class='rbrace'>}</span><span class='tstring_content'> interface {mark=bright}</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_interface'>interface</span><span class='rbrace'>}</span><span class='tstring_content'>{/mark}.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_rv'>rv</span>
|
2020
|
-
<span class='kw'>else</span>
|
2021
|
-
<span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_info'>info</span><span class='lparen'>(</span><span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_console'>console</span><span class='period'>.</span><span class='id identifier rubyid_replace_markers'>replace_markers</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_prefix'>prefix</span><span class='rbrace'>}</span><span class='tstring_content'> I will {mark=bright}</span><span class='embexpr_beg'>#{</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span> <span class='op'>==</span> <span class='symbol'>:remove</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>remove</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>add</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='tstring_content'>{/mark} address {mark=bright}</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_address'>address</span><span class='rbrace'>}</span><span class='tstring_content'>{/mark} </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span> <span class='op'>!=</span> <span class='symbol'>:remove</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>to</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>from</span><span class='tstring_end'>"</span></span><span class='rbrace'>}</span><span class='tstring_content'> interface {mark=bright}</span><span class='embexpr_beg'>#{</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_interface'>interface</span><span class='rbrace'>}</span><span class='tstring_content'>{/mark}.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_quiet'>quiet</span>
|
2022
|
-
<span class='kw'>end</span>
|
2023
|
-
|
2024
|
-
<span class='id identifier rubyid_rv'>rv</span>
|
2025
|
-
<span class='kw'>end</span></pre>
|
2026
|
-
</td>
|
2027
|
-
</tr>
|
2028
|
-
</table>
|
2029
2355
|
</div>
|
2030
2356
|
|
2031
2357
|
<div class="method_details ">
|
@@ -2106,12 +2432,12 @@
|
|
2106
2432
|
<pre class="lines">
|
2107
2433
|
|
2108
2434
|
|
2109
|
-
|
2110
|
-
|
2111
|
-
|
2435
|
+
338
|
2436
|
+
339
|
2437
|
+
340</pre>
|
2112
2438
|
</td>
|
2113
2439
|
<td>
|
2114
|
-
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line
|
2440
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 338</span>
|
2115
2441
|
|
2116
2442
|
<span class='kw'>def</span> <span class='id identifier rubyid_pad_number'>pad_number</span><span class='lparen'>(</span><span class='id identifier rubyid_num'>num</span><span class='comma'>,</span> <span class='id identifier rubyid_len'>len</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
|
2117
2443
|
<span class='id identifier rubyid_num'>num</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_rjust'>rjust</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='id identifier rubyid_len'>len</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='comma'>,</span> <span class='int'>2</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>0</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
@@ -2126,9 +2452,9 @@
|
|
2126
2452
|
</div>
|
2127
2453
|
|
2128
2454
|
<div id="footer">
|
2129
|
-
Generated on
|
2455
|
+
Generated on Sat Feb 9 17:30:34 2013 by
|
2130
2456
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
2131
|
-
0.8.
|
2457
|
+
0.8.4.1 (ruby-1.9.3).
|
2132
2458
|
</div>
|
2133
2459
|
|
2134
2460
|
</body>
|