akaer 1.0.0 → 1.5.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/.gitignore +6 -21
- data/.yardopts +1 -1
- data/Gemfile.lock +19 -19
- data/akaer.gemspec +2 -5
- data/bin/akaer +33 -74
- data/doc/Akaer/Application.html +2134 -0
- data/doc/Akaer/Configuration.html +282 -0
- data/doc/Akaer/Errors/InvalidConfiguration.html +123 -0
- data/doc/Akaer/Errors.html +115 -0
- data/doc/Akaer/Logger.html +596 -0
- data/doc/Akaer/Version.html +189 -0
- data/doc/Akaer.html +130 -0
- data/doc/Fixnum.html +200 -0
- data/doc/_index.html +147 -0
- data/doc/class_list.html +53 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +57 -0
- data/doc/css/style.css +328 -0
- data/doc/file.README.html +140 -0
- data/doc/file_list.html +55 -0
- data/doc/frames.html +28 -0
- data/doc/index.html +140 -0
- data/doc/js/app.js +214 -0
- data/doc/js/full_list.js +173 -0
- data/doc/js/jquery.js +4 -0
- data/doc/method_list.html +204 -0
- data/doc/top-level-namespace.html +112 -0
- data/lib/akaer/application.rb +28 -35
- data/lib/akaer/version.rb +1 -1
- data/lib/akaer.rb +1 -1
- data/spec/akaer/application_spec.rb +32 -16
- data/spec/coverage_helper.rb +3 -2
- metadata +29 -23
@@ -0,0 +1,2134 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
6
|
+
<title>
|
7
|
+
Class: Akaer::Application
|
8
|
+
|
9
|
+
— Documentation by YARD 0.8.2.1
|
10
|
+
|
11
|
+
</title>
|
12
|
+
|
13
|
+
<link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
|
14
|
+
|
15
|
+
<link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
|
16
|
+
|
17
|
+
<script type="text/javascript" charset="utf-8">
|
18
|
+
hasFrames = window.top.frames.main ? true : false;
|
19
|
+
relpath = '../';
|
20
|
+
framesUrl = "../frames.html#!" + escape(window.location.href);
|
21
|
+
</script>
|
22
|
+
|
23
|
+
|
24
|
+
<script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
|
25
|
+
|
26
|
+
<script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
|
27
|
+
|
28
|
+
|
29
|
+
</head>
|
30
|
+
<body>
|
31
|
+
<div id="header">
|
32
|
+
<div id="menu">
|
33
|
+
|
34
|
+
<a href="../_index.html">Index (A)</a> »
|
35
|
+
<span class='title'><span class='object_link'><a href="../Akaer.html" title="Akaer (module)">Akaer</a></span></span>
|
36
|
+
»
|
37
|
+
<span class="title">Application</span>
|
38
|
+
|
39
|
+
|
40
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
41
|
+
</div>
|
42
|
+
|
43
|
+
<div id="search">
|
44
|
+
|
45
|
+
<a class="full_list_link" id="class_list_link"
|
46
|
+
href="../class_list.html">
|
47
|
+
Class List
|
48
|
+
</a>
|
49
|
+
|
50
|
+
<a class="full_list_link" id="method_list_link"
|
51
|
+
href="../method_list.html">
|
52
|
+
Method List
|
53
|
+
</a>
|
54
|
+
|
55
|
+
<a class="full_list_link" id="file_list_link"
|
56
|
+
href="../file_list.html">
|
57
|
+
File List
|
58
|
+
</a>
|
59
|
+
|
60
|
+
</div>
|
61
|
+
<div class="clear"></div>
|
62
|
+
</div>
|
63
|
+
|
64
|
+
<iframe id="search_frame"></iframe>
|
65
|
+
|
66
|
+
<div id="content"><h1>Class: Akaer::Application
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
</h1>
|
71
|
+
|
72
|
+
<dl class="box">
|
73
|
+
|
74
|
+
<dt class="r1">Inherits:</dt>
|
75
|
+
<dd class="r1">
|
76
|
+
<span class="inheritName">Object</span>
|
77
|
+
|
78
|
+
<ul class="fullTree">
|
79
|
+
<li>Object</li>
|
80
|
+
|
81
|
+
<li class="next">Akaer::Application</li>
|
82
|
+
|
83
|
+
</ul>
|
84
|
+
<a href="#" class="inheritanceTree">show all</a>
|
85
|
+
|
86
|
+
</dd>
|
87
|
+
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
|
93
|
+
|
94
|
+
|
95
|
+
|
96
|
+
<dt class="r2 last">Defined in:</dt>
|
97
|
+
<dd class="r2 last">lib/akaer/application.rb</dd>
|
98
|
+
|
99
|
+
</dl>
|
100
|
+
<div class="clear"></div>
|
101
|
+
|
102
|
+
<h2>Overview</h2><div class="docstring">
|
103
|
+
<div class="discussion">
|
104
|
+
<p>The main Akaer application.</p>
|
105
|
+
|
106
|
+
|
107
|
+
</div>
|
108
|
+
</div>
|
109
|
+
<div class="tags">
|
110
|
+
|
111
|
+
|
112
|
+
</div>
|
113
|
+
|
114
|
+
|
115
|
+
|
116
|
+
<h2>Instance Attribute Summary <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
|
117
|
+
<ul class="summary">
|
118
|
+
|
119
|
+
<li class="public ">
|
120
|
+
<span class="summary_signature">
|
121
|
+
|
122
|
+
<a href="#command-instance_method" title="#command (instance method)">- (Object) <strong>command</strong> </a>
|
123
|
+
|
124
|
+
|
125
|
+
|
126
|
+
</span>
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
<span class="note title readonly">readonly</span>
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
<span class="summary_desc"><div class='inline'><p>The Mamertes command.</p>
|
142
|
+
</div></span>
|
143
|
+
|
144
|
+
</li>
|
145
|
+
|
146
|
+
|
147
|
+
<li class="public ">
|
148
|
+
<span class="summary_signature">
|
149
|
+
|
150
|
+
<a href="#config-instance_method" title="#config (instance method)">- (Object) <strong>config</strong> </a>
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
</span>
|
155
|
+
|
156
|
+
|
157
|
+
|
158
|
+
|
159
|
+
<span class="note title readonly">readonly</span>
|
160
|
+
|
161
|
+
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
<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>
|
170
|
+
</div></span>
|
171
|
+
|
172
|
+
</li>
|
173
|
+
|
174
|
+
|
175
|
+
<li class="public ">
|
176
|
+
<span class="summary_signature">
|
177
|
+
|
178
|
+
<a href="#logger-instance_method" title="#logger (instance method)">- (Object) <strong>logger</strong> </a>
|
179
|
+
|
180
|
+
|
181
|
+
|
182
|
+
</span>
|
183
|
+
|
184
|
+
|
185
|
+
|
186
|
+
|
187
|
+
|
188
|
+
|
189
|
+
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
|
194
|
+
|
195
|
+
<span class="summary_desc"><div class='inline'><p>The logger for this application.</p>
|
196
|
+
</div></span>
|
197
|
+
|
198
|
+
</li>
|
199
|
+
|
200
|
+
|
201
|
+
</ul>
|
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 ">
|
215
|
+
<span class="summary_signature">
|
216
|
+
|
217
|
+
<a href="#instance-class_method" title="instance (class method)">+ (Application) <strong>instance</strong>(command, force = false) </a>
|
218
|
+
|
219
|
+
|
220
|
+
|
221
|
+
</span>
|
222
|
+
|
223
|
+
|
224
|
+
|
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
|
+
|
249
|
+
<a href="#action_add-instance_method" title="#action_add (instance method)">- (Boolean) <strong>action_add</strong> </a>
|
250
|
+
|
251
|
+
|
252
|
+
|
253
|
+
</span>
|
254
|
+
|
255
|
+
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
|
262
|
+
|
263
|
+
<span class="summary_desc"><div class='inline'><p>Adds aliases to the interface.</p>
|
264
|
+
</div></span>
|
265
|
+
|
266
|
+
</li>
|
267
|
+
|
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
|
+
|
274
|
+
|
275
|
+
|
276
|
+
</span>
|
277
|
+
|
278
|
+
|
279
|
+
|
280
|
+
|
281
|
+
|
282
|
+
|
283
|
+
|
284
|
+
|
285
|
+
|
286
|
+
<span class="summary_desc"><div class='inline'><p>Installs the application into the autolaunch.</p>
|
287
|
+
</div></span>
|
288
|
+
|
289
|
+
</li>
|
290
|
+
|
291
|
+
|
292
|
+
<li class="public ">
|
293
|
+
<span class="summary_signature">
|
294
|
+
|
295
|
+
<a href="#action_remove-instance_method" title="#action_remove (instance method)">- (Boolean) <strong>action_remove</strong> </a>
|
296
|
+
|
297
|
+
|
298
|
+
|
299
|
+
</span>
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
|
304
|
+
|
305
|
+
|
306
|
+
|
307
|
+
|
308
|
+
|
309
|
+
<span class="summary_desc"><div class='inline'><p>Removes aliases from the interface.</p>
|
310
|
+
</div></span>
|
311
|
+
|
312
|
+
</li>
|
313
|
+
|
314
|
+
|
315
|
+
<li class="public ">
|
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>
|
334
|
+
|
335
|
+
</li>
|
336
|
+
|
337
|
+
|
338
|
+
<li class="public ">
|
339
|
+
<span class="summary_signature">
|
340
|
+
|
341
|
+
<a href="#compute_addresses-instance_method" title="#compute_addresses (instance method)">- (Array) <strong>compute_addresses</strong>(type = :all) </a>
|
342
|
+
|
343
|
+
|
344
|
+
|
345
|
+
</span>
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
<span class="summary_desc"><div class='inline'><p>Computes the list of address to manage.</p>
|
356
|
+
</div></span>
|
357
|
+
|
358
|
+
</li>
|
359
|
+
|
360
|
+
|
361
|
+
<li class="public ">
|
362
|
+
<span class="summary_signature">
|
363
|
+
|
364
|
+
<a href="#execute_command-instance_method" title="#execute_command (instance method)">- (Boolean) <strong>execute_command</strong>(command) </a>
|
365
|
+
|
366
|
+
|
367
|
+
|
368
|
+
</span>
|
369
|
+
|
370
|
+
|
371
|
+
|
372
|
+
|
373
|
+
|
374
|
+
|
375
|
+
|
376
|
+
|
377
|
+
|
378
|
+
<span class="summary_desc"><div class='inline'><p>Executes a shell command.</p>
|
379
|
+
</div></span>
|
380
|
+
|
381
|
+
</li>
|
382
|
+
|
383
|
+
|
384
|
+
<li class="public ">
|
385
|
+
<span class="summary_signature">
|
386
|
+
|
387
|
+
<a href="#get_logger-instance_method" title="#get_logger (instance method)">- (Logger) <strong>get_logger</strong> </a>
|
388
|
+
|
389
|
+
|
390
|
+
|
391
|
+
</span>
|
392
|
+
|
393
|
+
|
394
|
+
|
395
|
+
|
396
|
+
|
397
|
+
|
398
|
+
|
399
|
+
|
400
|
+
|
401
|
+
<span class="summary_desc"><div class='inline'><p>Gets the current logger of the application.</p>
|
402
|
+
</div></span>
|
403
|
+
|
404
|
+
</li>
|
405
|
+
|
406
|
+
|
407
|
+
<li class="public ">
|
408
|
+
<span class="summary_signature">
|
409
|
+
|
410
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (Application) <strong>initialize</strong>(command) </a>
|
411
|
+
|
412
|
+
|
413
|
+
|
414
|
+
</span>
|
415
|
+
|
416
|
+
|
417
|
+
<span class="note title constructor">constructor</span>
|
418
|
+
|
419
|
+
|
420
|
+
|
421
|
+
|
422
|
+
|
423
|
+
|
424
|
+
|
425
|
+
|
426
|
+
<span class="summary_desc"><div class='inline'><p>Creates a new application.</p>
|
427
|
+
</div></span>
|
428
|
+
|
429
|
+
</li>
|
430
|
+
|
431
|
+
|
432
|
+
<li class="public ">
|
433
|
+
<span class="summary_signature">
|
434
|
+
|
435
|
+
<a href="#is_ipv4%3F-instance_method" title="#is_ipv4? (instance method)">- (Boolean) <strong>is_ipv4?</strong>(address) </a>
|
436
|
+
|
437
|
+
|
438
|
+
|
439
|
+
</span>
|
440
|
+
|
441
|
+
|
442
|
+
|
443
|
+
|
444
|
+
|
445
|
+
|
446
|
+
|
447
|
+
|
448
|
+
|
449
|
+
<span class="summary_desc"><div class='inline'><p>Checks if and address is a valid IPv4 address.</p>
|
450
|
+
</div></span>
|
451
|
+
|
452
|
+
</li>
|
453
|
+
|
454
|
+
|
455
|
+
<li class="public ">
|
456
|
+
<span class="summary_signature">
|
457
|
+
|
458
|
+
<a href="#is_ipv6%3F-instance_method" title="#is_ipv6? (instance method)">- (Boolean) <strong>is_ipv6?</strong>(address) </a>
|
459
|
+
|
460
|
+
|
461
|
+
|
462
|
+
</span>
|
463
|
+
|
464
|
+
|
465
|
+
|
466
|
+
|
467
|
+
|
468
|
+
|
469
|
+
|
470
|
+
|
471
|
+
|
472
|
+
<span class="summary_desc"><div class='inline'><p>Checks if and address is a valid IPv4 address.</p>
|
473
|
+
</div></span>
|
474
|
+
|
475
|
+
</li>
|
476
|
+
|
477
|
+
|
478
|
+
<li class="public ">
|
479
|
+
<span class="summary_signature">
|
480
|
+
|
481
|
+
<a href="#is_osx%3F-instance_method" title="#is_osx? (instance method)">- (Boolean) <strong>is_osx?</strong> </a>
|
482
|
+
|
483
|
+
|
484
|
+
|
485
|
+
</span>
|
486
|
+
|
487
|
+
|
488
|
+
|
489
|
+
|
490
|
+
|
491
|
+
|
492
|
+
|
493
|
+
|
494
|
+
|
495
|
+
<span class="summary_desc"><div class='inline'><p>Checks if we are running on MacOS X.</p>
|
496
|
+
</div></span>
|
497
|
+
|
498
|
+
</li>
|
499
|
+
|
500
|
+
|
501
|
+
<li class="public ">
|
502
|
+
<span class="summary_signature">
|
503
|
+
|
504
|
+
<a href="#launch_agent_path-instance_method" title="#launch_agent_path (instance method)">- (String) <strong>launch_agent_path</strong>(name = "it.cowtech.akaer") </a>
|
505
|
+
|
506
|
+
|
507
|
+
|
508
|
+
</span>
|
509
|
+
|
510
|
+
|
511
|
+
|
512
|
+
|
513
|
+
|
514
|
+
|
515
|
+
|
516
|
+
|
517
|
+
|
518
|
+
<span class="summary_desc"><div class='inline'><p>Gets the path for the launch agent file.</p>
|
519
|
+
</div></span>
|
520
|
+
|
521
|
+
</li>
|
522
|
+
|
523
|
+
|
524
|
+
<li class="public ">
|
525
|
+
<span class="summary_signature">
|
526
|
+
|
527
|
+
<a href="#manage-instance_method" title="#manage (instance method)">- (Boolean) <strong>manage</strong>(type, address) </a>
|
528
|
+
|
529
|
+
|
530
|
+
|
531
|
+
</span>
|
532
|
+
|
533
|
+
|
534
|
+
|
535
|
+
|
536
|
+
|
537
|
+
|
538
|
+
|
539
|
+
|
540
|
+
|
541
|
+
<span class="summary_desc"><div class='inline'><p>Adds or removes an alias from the interface.</p>
|
542
|
+
</div></span>
|
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
|
+
|
552
|
+
|
553
|
+
|
554
|
+
</span>
|
555
|
+
|
556
|
+
|
557
|
+
|
558
|
+
|
559
|
+
|
560
|
+
|
561
|
+
|
562
|
+
|
563
|
+
|
564
|
+
<span class="summary_desc"><div class='inline'><p>Pads a number to make it print friendly.</p>
|
565
|
+
</div></span>
|
566
|
+
|
567
|
+
</li>
|
568
|
+
|
569
|
+
|
570
|
+
</ul>
|
571
|
+
|
572
|
+
|
573
|
+
<div id="constructor_details" class="method_details_list">
|
574
|
+
<h2>Constructor Details</h2>
|
575
|
+
|
576
|
+
<div class="method_details first">
|
577
|
+
<h3 class="signature first" id="initialize-instance_method">
|
578
|
+
|
579
|
+
- (<tt><span class='object_link'><a href="" title="Akaer::Application (class)">Application</a></span></tt>) <strong>initialize</strong>(command)
|
580
|
+
|
581
|
+
|
582
|
+
|
583
|
+
|
584
|
+
|
585
|
+
</h3><div class="docstring">
|
586
|
+
<div class="discussion">
|
587
|
+
<p>Creates a new application.</p>
|
588
|
+
|
589
|
+
|
590
|
+
</div>
|
591
|
+
</div>
|
592
|
+
<div class="tags">
|
593
|
+
<p class="tag_title">Parameters:</p>
|
594
|
+
<ul class="param">
|
595
|
+
|
596
|
+
<li>
|
597
|
+
|
598
|
+
<span class='name'>command</span>
|
599
|
+
|
600
|
+
|
601
|
+
<span class='type'>(<tt>Mamertes::Command</tt>)</span>
|
602
|
+
|
603
|
+
|
604
|
+
|
605
|
+
—
|
606
|
+
<div class='inline'><p>The current Mamertes command.</p>
|
607
|
+
</div>
|
608
|
+
|
609
|
+
</li>
|
610
|
+
|
611
|
+
</ul>
|
612
|
+
|
613
|
+
|
614
|
+
</div><table class="source_code">
|
615
|
+
<tr>
|
616
|
+
<td>
|
617
|
+
<pre class="lines">
|
618
|
+
|
619
|
+
|
620
|
+
23
|
621
|
+
24
|
622
|
+
25
|
623
|
+
26
|
624
|
+
27
|
625
|
+
28
|
626
|
+
29
|
627
|
+
30
|
628
|
+
31
|
629
|
+
32
|
630
|
+
33
|
631
|
+
34
|
632
|
+
35
|
633
|
+
36
|
634
|
+
37
|
635
|
+
38
|
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>
|
654
|
+
</td>
|
655
|
+
<td>
|
656
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 23</span>
|
657
|
+
|
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
|
+
<span class='ivar'>@command</span> <span class='op'>=</span> <span class='id identifier rubyid_command'>command</span>
|
660
|
+
<span class='id identifier rubyid_application'>application</span> <span class='op'>=</span> <span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span>
|
661
|
+
|
662
|
+
<span class='comment'># Setup logger
|
663
|
+
</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 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='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
|
+
|
666
|
+
<span class='comment'># Open configuration
|
667
|
+
</span> <span class='kw'>begin</span>
|
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>
|
689
|
+
|
690
|
+
<span class='kw'>self</span>
|
691
|
+
<span class='kw'>end</span></pre>
|
692
|
+
</td>
|
693
|
+
</tr>
|
694
|
+
</table>
|
695
|
+
</div>
|
696
|
+
|
697
|
+
</div>
|
698
|
+
|
699
|
+
<div id="instance_attr_details" class="attr_details">
|
700
|
+
<h2>Instance Attribute Details</h2>
|
701
|
+
|
702
|
+
|
703
|
+
<span id=""></span>
|
704
|
+
<div class="method_details first">
|
705
|
+
<h3 class="signature first" id="command-instance_method">
|
706
|
+
|
707
|
+
- (<tt>Object</tt>) <strong>command</strong> <span class="extras">(readonly)</span>
|
708
|
+
|
709
|
+
|
710
|
+
|
711
|
+
|
712
|
+
|
713
|
+
</h3><div class="docstring">
|
714
|
+
<div class="discussion">
|
715
|
+
<p>The Mamertes command.</p>
|
716
|
+
|
717
|
+
|
718
|
+
</div>
|
719
|
+
</div>
|
720
|
+
<div class="tags">
|
721
|
+
|
722
|
+
|
723
|
+
</div><table class="source_code">
|
724
|
+
<tr>
|
725
|
+
<td>
|
726
|
+
<pre class="lines">
|
727
|
+
|
728
|
+
|
729
|
+
15
|
730
|
+
16
|
731
|
+
17</pre>
|
732
|
+
</td>
|
733
|
+
<td>
|
734
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 15</span>
|
735
|
+
|
736
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_command'>command</span>
|
737
|
+
<span class='ivar'>@command</span>
|
738
|
+
<span class='kw'>end</span></pre>
|
739
|
+
</td>
|
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
|
+
|
751
|
+
|
752
|
+
|
753
|
+
|
754
|
+
|
755
|
+
</h3><div class="docstring">
|
756
|
+
<div class="discussion">
|
757
|
+
<p>The <span class='object_link'><a href="Configuration.html" title="Akaer::Configuration (class)">Configuration</a></span> of this application.</p>
|
758
|
+
|
759
|
+
|
760
|
+
</div>
|
761
|
+
</div>
|
762
|
+
<div class="tags">
|
763
|
+
|
764
|
+
|
765
|
+
</div><table class="source_code">
|
766
|
+
<tr>
|
767
|
+
<td>
|
768
|
+
<pre class="lines">
|
769
|
+
|
770
|
+
|
771
|
+
12
|
772
|
+
13
|
773
|
+
14</pre>
|
774
|
+
</td>
|
775
|
+
<td>
|
776
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 12</span>
|
777
|
+
|
778
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_config'>config</span>
|
779
|
+
<span class='ivar'>@config</span>
|
780
|
+
<span class='kw'>end</span></pre>
|
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
|
+
|
793
|
+
|
794
|
+
|
795
|
+
|
796
|
+
|
797
|
+
</h3><div class="docstring">
|
798
|
+
<div class="discussion">
|
799
|
+
<p>The logger for this application.</p>
|
800
|
+
|
801
|
+
|
802
|
+
</div>
|
803
|
+
</div>
|
804
|
+
<div class="tags">
|
805
|
+
|
806
|
+
|
807
|
+
</div><table class="source_code">
|
808
|
+
<tr>
|
809
|
+
<td>
|
810
|
+
<pre class="lines">
|
811
|
+
|
812
|
+
|
813
|
+
18
|
814
|
+
19
|
815
|
+
20</pre>
|
816
|
+
</td>
|
817
|
+
<td>
|
818
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 18</span>
|
819
|
+
|
820
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_logger'>logger</span>
|
821
|
+
<span class='ivar'>@logger</span>
|
822
|
+
<span class='kw'>end</span></pre>
|
823
|
+
</td>
|
824
|
+
</tr>
|
825
|
+
</table>
|
826
|
+
</div>
|
827
|
+
|
828
|
+
</div>
|
829
|
+
|
830
|
+
|
831
|
+
<div id="class_method_details" class="method_details_list">
|
832
|
+
<h2>Class Method Details</h2>
|
833
|
+
|
834
|
+
|
835
|
+
<div class="method_details first">
|
836
|
+
<h3 class="signature first" id="instance-class_method">
|
837
|
+
|
838
|
+
+ (<tt><span class='object_link'><a href="" title="Akaer::Application (class)">Application</a></span></tt>) <strong>instance</strong>(command, force = false)
|
839
|
+
|
840
|
+
|
841
|
+
|
842
|
+
|
843
|
+
|
844
|
+
</h3><div class="docstring">
|
845
|
+
<div class="discussion">
|
846
|
+
<p>Returns a unique (singleton) instance of the application.</p>
|
847
|
+
|
848
|
+
|
849
|
+
</div>
|
850
|
+
</div>
|
851
|
+
<div class="tags">
|
852
|
+
<p class="tag_title">Parameters:</p>
|
853
|
+
<ul class="param">
|
854
|
+
|
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
|
+
<p class="tag_title">Returns:</p>
|
890
|
+
<ul class="return">
|
891
|
+
|
892
|
+
<li>
|
893
|
+
|
894
|
+
|
895
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="Akaer::Application (class)">Application</a></span></tt>)</span>
|
896
|
+
|
897
|
+
|
898
|
+
|
899
|
+
—
|
900
|
+
<div class='inline'><p>The unique (singleton) instance of the application.</p>
|
901
|
+
</div>
|
902
|
+
|
903
|
+
</li>
|
904
|
+
|
905
|
+
</ul>
|
906
|
+
|
907
|
+
</div><table class="source_code">
|
908
|
+
<tr>
|
909
|
+
<td>
|
910
|
+
<pre class="lines">
|
911
|
+
|
912
|
+
|
913
|
+
303
|
914
|
+
304
|
915
|
+
305
|
916
|
+
306</pre>
|
917
|
+
</td>
|
918
|
+
<td>
|
919
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 303</span>
|
920
|
+
|
921
|
+
<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_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
922
|
+
<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>
|
923
|
+
<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='rparen'>)</span>
|
924
|
+
<span class='kw'>end</span></pre>
|
925
|
+
</td>
|
926
|
+
</tr>
|
927
|
+
</table>
|
928
|
+
</div>
|
929
|
+
|
930
|
+
</div>
|
931
|
+
|
932
|
+
<div id="instance_method_details" class="method_details_list">
|
933
|
+
<h2>Instance Method Details</h2>
|
934
|
+
|
935
|
+
|
936
|
+
<div class="method_details first">
|
937
|
+
<h3 class="signature first" id="action_add-instance_method">
|
938
|
+
|
939
|
+
- (<tt>Boolean</tt>) <strong>action_add</strong>
|
940
|
+
|
941
|
+
|
942
|
+
|
943
|
+
|
944
|
+
|
945
|
+
</h3><div class="docstring">
|
946
|
+
<div class="discussion">
|
947
|
+
<p>Adds aliases to the interface.</p>
|
948
|
+
|
949
|
+
|
950
|
+
</div>
|
951
|
+
</div>
|
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>
|
971
|
+
|
972
|
+
</div><table class="source_code">
|
973
|
+
<tr>
|
974
|
+
<td>
|
975
|
+
<pre class="lines">
|
976
|
+
|
977
|
+
|
978
|
+
197
|
979
|
+
198
|
980
|
+
199
|
981
|
+
200
|
982
|
+
201
|
983
|
+
202
|
984
|
+
203
|
985
|
+
204
|
986
|
+
205
|
987
|
+
206
|
988
|
+
207
|
989
|
+
208</pre>
|
990
|
+
</td>
|
991
|
+
<td>
|
992
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 197</span>
|
993
|
+
|
994
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_action_add'>action_add</span>
|
995
|
+
<span class='id identifier rubyid_addresses'>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>
|
996
|
+
|
997
|
+
<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>
|
998
|
+
<span class='comment'># Now, for every address, call the command
|
999
|
+
</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>
|
1000
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_manage'>manage</span><span class='lparen'>(</span><span class='symbol'>:add</span><span class='comma'>,</span> <span class='id identifier rubyid_address'>address</span><span class='rparen'>)</span>
|
1001
|
+
<span class='rbrace'>}</span>
|
1002
|
+
<span class='kw'>else</span>
|
1003
|
+
<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 add to 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>
|
1004
|
+
<span class='kw'>end</span>
|
1005
|
+
<span class='kw'>end</span></pre>
|
1006
|
+
</td>
|
1007
|
+
</tr>
|
1008
|
+
</table>
|
1009
|
+
</div>
|
1010
|
+
|
1011
|
+
<div class="method_details ">
|
1012
|
+
<h3 class="signature " id="action_install-instance_method">
|
1013
|
+
|
1014
|
+
- (<tt>Boolean</tt>) <strong>action_install</strong>
|
1015
|
+
|
1016
|
+
|
1017
|
+
|
1018
|
+
|
1019
|
+
|
1020
|
+
</h3><div class="docstring">
|
1021
|
+
<div class="discussion">
|
1022
|
+
<p>Installs the application into the autolaunch.</p>
|
1023
|
+
|
1024
|
+
|
1025
|
+
</div>
|
1026
|
+
</div>
|
1027
|
+
<div class="tags">
|
1028
|
+
|
1029
|
+
<p class="tag_title">Returns:</p>
|
1030
|
+
<ul class="return">
|
1031
|
+
|
1032
|
+
<li>
|
1033
|
+
|
1034
|
+
|
1035
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1036
|
+
|
1037
|
+
|
1038
|
+
|
1039
|
+
—
|
1040
|
+
<div class='inline'><p><code>true</code> if action succedeed, <code>false</code> otherwise.</p>
|
1041
|
+
</div>
|
1042
|
+
|
1043
|
+
</li>
|
1044
|
+
|
1045
|
+
</ul>
|
1046
|
+
|
1047
|
+
</div><table class="source_code">
|
1048
|
+
<tr>
|
1049
|
+
<td>
|
1050
|
+
<pre class="lines">
|
1051
|
+
|
1052
|
+
|
1053
|
+
229
|
1054
|
+
230
|
1055
|
+
231
|
1056
|
+
232
|
1057
|
+
233
|
1058
|
+
234
|
1059
|
+
235
|
1060
|
+
236
|
1061
|
+
237
|
1062
|
+
238
|
1063
|
+
239
|
1064
|
+
240
|
1065
|
+
241
|
1066
|
+
242
|
1067
|
+
243
|
1068
|
+
244
|
1069
|
+
245
|
1070
|
+
246
|
1071
|
+
247
|
1072
|
+
248
|
1073
|
+
249
|
1074
|
+
250
|
1075
|
+
251
|
1076
|
+
252
|
1077
|
+
253
|
1078
|
+
254
|
1079
|
+
255
|
1080
|
+
256
|
1081
|
+
257
|
1082
|
+
258
|
1083
|
+
259
|
1084
|
+
260
|
1085
|
+
261
|
1086
|
+
262
|
1087
|
+
263
|
1088
|
+
264</pre>
|
1089
|
+
</td>
|
1090
|
+
<td>
|
1091
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 229</span>
|
1092
|
+
|
1093
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_action_install'>action_install</span>
|
1094
|
+
<span class='id identifier rubyid_logger'>logger</span> <span class='op'>=</span> <span class='id identifier rubyid_get_logger'>get_logger</span>
|
1095
|
+
|
1096
|
+
<span class='kw'>if</span> <span class='op'>!</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_is_osx?'>is_osx?</span> <span class='kw'>then</span>
|
1097
|
+
<span class='id identifier rubyid_logger'>logger</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'>Install akaer on autolaunch is only available on MacOSX.</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>
|
1098
|
+
<span class='kw'>return</span> <span class='kw'>false</span>
|
1099
|
+
<span class='kw'>end</span>
|
1100
|
+
|
1101
|
+
<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>
|
1102
|
+
|
1103
|
+
<span class='kw'>begin</span>
|
1104
|
+
<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'>Creating the launch agent in {mark=bright}</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_launch_agent'>launch_agent</span><span class='rbrace'>}</span><span class='tstring_content'>{/mark} ...</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>
|
1105
|
+
|
1106
|
+
<span class='id identifier rubyid_args'>args</span> <span class='op'>=</span> <span class='gvar'>$ARGV</span> <span class='op'>?</span> <span class='gvar'>$ARGV</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='gvar'>$ARGV</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>-</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
1107
|
+
|
1108
|
+
<span class='id identifier rubyid_plist'>plist</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>KeepAlive</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='kw'>false</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Label</span><span class='tstring_end'>"</span></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='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Program</span><span class='tstring_end'>"</span></span> <span class='op'>=></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='const'>Dir</span><span class='period'>.</span><span class='id identifier rubyid_pwd'>pwd</span><span class='rparen'>)</span> <span class='op'>+</span> <span class='gvar'>$0</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ProgramArguments</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='id identifier rubyid_args'>args</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>RunAtLoad</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='kw'>true</span><span class='rbrace'>}</span>
|
1109
|
+
<span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_launch_agent'>launch_agent</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>w</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_f'>f</span><span class='op'>|</span>
|
1110
|
+
<span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_write'>write</span><span class='lparen'>(</span><span class='id identifier rubyid_plist'>plist</span><span class='period'>.</span><span class='id identifier rubyid_to_json'>to_json</span><span class='rparen'>)</span>
|
1111
|
+
<span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_flush'>flush</span>
|
1112
|
+
<span class='rbrace'>}</span>
|
1113
|
+
<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'>plutil -convert binary1 \"</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>
|
1114
|
+
<span class='kw'>rescue</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
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>
|
1117
|
+
<span class='kw'>end</span>
|
1118
|
+
|
1119
|
+
<span class='kw'>begin</span>
|
1120
|
+
<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'>Loading 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>
|
1121
|
+
<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 load -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>
|
1122
|
+
<span class='kw'>rescue</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1123
|
+
<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 load 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>
|
1124
|
+
<span class='kw'>return</span> <span class='kw'>false</span>
|
1125
|
+
<span class='kw'>end</span>
|
1126
|
+
|
1127
|
+
<span class='kw'>true</span>
|
1128
|
+
<span class='kw'>end</span></pre>
|
1129
|
+
</td>
|
1130
|
+
</tr>
|
1131
|
+
</table>
|
1132
|
+
</div>
|
1133
|
+
|
1134
|
+
<div class="method_details ">
|
1135
|
+
<h3 class="signature " id="action_remove-instance_method">
|
1136
|
+
|
1137
|
+
- (<tt>Boolean</tt>) <strong>action_remove</strong>
|
1138
|
+
|
1139
|
+
|
1140
|
+
|
1141
|
+
|
1142
|
+
|
1143
|
+
</h3><div class="docstring">
|
1144
|
+
<div class="discussion">
|
1145
|
+
<p>Removes aliases from the interface.</p>
|
1146
|
+
|
1147
|
+
|
1148
|
+
</div>
|
1149
|
+
</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>
|
1167
|
+
|
1168
|
+
</ul>
|
1169
|
+
|
1170
|
+
</div><table class="source_code">
|
1171
|
+
<tr>
|
1172
|
+
<td>
|
1173
|
+
<pre class="lines">
|
1174
|
+
|
1175
|
+
|
1176
|
+
213
|
1177
|
+
214
|
1178
|
+
215
|
1179
|
+
216
|
1180
|
+
217
|
1181
|
+
218
|
1182
|
+
219
|
1183
|
+
220
|
1184
|
+
221
|
1185
|
+
222
|
1186
|
+
223
|
1187
|
+
224</pre>
|
1188
|
+
</td>
|
1189
|
+
<td>
|
1190
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 213</span>
|
1191
|
+
|
1192
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_action_remove'>action_remove</span>
|
1193
|
+
<span class='id identifier rubyid_addresses'>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>
|
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>
|
1203
|
+
<span class='kw'>end</span></pre>
|
1204
|
+
</td>
|
1205
|
+
</tr>
|
1206
|
+
</table>
|
1207
|
+
</div>
|
1208
|
+
|
1209
|
+
<div class="method_details ">
|
1210
|
+
<h3 class="signature " id="action_uninstall-instance_method">
|
1211
|
+
|
1212
|
+
- (<tt>Boolean</tt>) <strong>action_uninstall</strong>
|
1213
|
+
|
1214
|
+
|
1215
|
+
|
1216
|
+
|
1217
|
+
|
1218
|
+
</h3><div class="docstring">
|
1219
|
+
<div class="discussion">
|
1220
|
+
<p>Uninstalls the application from the autolaunch.</p>
|
1221
|
+
|
1222
|
+
|
1223
|
+
</div>
|
1224
|
+
</div>
|
1225
|
+
<div class="tags">
|
1226
|
+
|
1227
|
+
<p class="tag_title">Returns:</p>
|
1228
|
+
<ul class="return">
|
1229
|
+
|
1230
|
+
<li>
|
1231
|
+
|
1232
|
+
|
1233
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1234
|
+
|
1235
|
+
|
1236
|
+
|
1237
|
+
—
|
1238
|
+
<div class='inline'><p><code>true</code> if action succedeed, <code>false</code> otherwise.</p>
|
1239
|
+
</div>
|
1240
|
+
|
1241
|
+
</li>
|
1242
|
+
|
1243
|
+
</ul>
|
1244
|
+
|
1245
|
+
</div><table class="source_code">
|
1246
|
+
<tr>
|
1247
|
+
<td>
|
1248
|
+
<pre class="lines">
|
1249
|
+
|
1250
|
+
|
1251
|
+
269
|
1252
|
+
270
|
1253
|
+
271
|
1254
|
+
272
|
1255
|
+
273
|
1256
|
+
274
|
1257
|
+
275
|
1258
|
+
276
|
1259
|
+
277
|
1260
|
+
278
|
1261
|
+
279
|
1262
|
+
280
|
1263
|
+
281
|
1264
|
+
282
|
1265
|
+
283
|
1266
|
+
284
|
1267
|
+
285
|
1268
|
+
286
|
1269
|
+
287
|
1270
|
+
288
|
1271
|
+
289
|
1272
|
+
290
|
1273
|
+
291
|
1274
|
+
292
|
1275
|
+
293
|
1276
|
+
294
|
1277
|
+
295
|
1278
|
+
296</pre>
|
1279
|
+
</td>
|
1280
|
+
<td>
|
1281
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 269</span>
|
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>
|
1285
|
+
|
1286
|
+
<span class='kw'>if</span> <span class='op'>!</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_is_osx?'>is_osx?</span> <span class='kw'>then</span>
|
1287
|
+
<span class='id identifier rubyid_logger'>logger</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'>Install akaer on autolaunch is only available on MacOSX.</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>
|
1288
|
+
<span class='kw'>return</span> <span class='kw'>false</span>
|
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>
|
1310
|
+
<span class='kw'>end</span></pre>
|
1311
|
+
</td>
|
1312
|
+
</tr>
|
1313
|
+
</table>
|
1314
|
+
</div>
|
1315
|
+
|
1316
|
+
<div class="method_details ">
|
1317
|
+
<h3 class="signature " id="compute_addresses-instance_method">
|
1318
|
+
|
1319
|
+
- (<tt>Array</tt>) <strong>compute_addresses</strong>(type = :all)
|
1320
|
+
|
1321
|
+
|
1322
|
+
|
1323
|
+
|
1324
|
+
|
1325
|
+
</h3><div class="docstring">
|
1326
|
+
<div class="discussion">
|
1327
|
+
<p>Computes the list of address to manage.</p>
|
1328
|
+
|
1329
|
+
|
1330
|
+
</div>
|
1331
|
+
</div>
|
1332
|
+
<div class="tags">
|
1333
|
+
<p class="tag_title">Parameters:</p>
|
1334
|
+
<ul class="param">
|
1335
|
+
|
1336
|
+
<li>
|
1337
|
+
|
1338
|
+
<span class='name'>type</span>
|
1339
|
+
|
1340
|
+
|
1341
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
1342
|
+
|
1343
|
+
|
1344
|
+
<em class="default">(defaults to: <tt>:all</tt>)</em>
|
1345
|
+
|
1346
|
+
|
1347
|
+
—
|
1348
|
+
<div class='inline'><p>The type of addresses to consider. Valid values are <code>:ipv4</code>, <code>:ipv6</code>, otherwise all addresses are considered.</p>
|
1349
|
+
</div>
|
1350
|
+
|
1351
|
+
</li>
|
1352
|
+
|
1353
|
+
</ul>
|
1354
|
+
|
1355
|
+
<p class="tag_title">Returns:</p>
|
1356
|
+
<ul class="return">
|
1357
|
+
|
1358
|
+
<li>
|
1359
|
+
|
1360
|
+
|
1361
|
+
<span class='type'>(<tt>Array</tt>)</span>
|
1362
|
+
|
1363
|
+
|
1364
|
+
|
1365
|
+
—
|
1366
|
+
<div class='inline'><p>The list of addresses to add or remove from the interface.</p>
|
1367
|
+
</div>
|
1368
|
+
|
1369
|
+
</li>
|
1370
|
+
|
1371
|
+
</ul>
|
1372
|
+
|
1373
|
+
</div><table class="source_code">
|
1374
|
+
<tr>
|
1375
|
+
<td>
|
1376
|
+
<pre class="lines">
|
1377
|
+
|
1378
|
+
|
1379
|
+
135
|
1380
|
+
136
|
1381
|
+
137
|
1382
|
+
138
|
1383
|
+
139
|
1384
|
+
140
|
1385
|
+
141
|
1386
|
+
142
|
1387
|
+
143
|
1388
|
+
144
|
1389
|
+
145
|
1390
|
+
146
|
1391
|
+
147
|
1392
|
+
148
|
1393
|
+
149
|
1394
|
+
150
|
1395
|
+
151
|
1396
|
+
152
|
1397
|
+
153
|
1398
|
+
154
|
1399
|
+
155
|
1400
|
+
156
|
1401
|
+
157
|
1402
|
+
158
|
1403
|
+
159
|
1404
|
+
160</pre>
|
1405
|
+
</td>
|
1406
|
+
<td>
|
1407
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 135</span>
|
1408
|
+
|
1409
|
+
<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 rubyid_rv'>rv</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
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>
|
1434
|
+
<span class='kw'>end</span></pre>
|
1435
|
+
</td>
|
1436
|
+
</tr>
|
1437
|
+
</table>
|
1438
|
+
</div>
|
1439
|
+
|
1440
|
+
<div class="method_details ">
|
1441
|
+
<h3 class="signature " id="execute_command-instance_method">
|
1442
|
+
|
1443
|
+
- (<tt>Boolean</tt>) <strong>execute_command</strong>(command)
|
1444
|
+
|
1445
|
+
|
1446
|
+
|
1447
|
+
|
1448
|
+
|
1449
|
+
</h3><div class="docstring">
|
1450
|
+
<div class="discussion">
|
1451
|
+
<p>Executes a shell command.</p>
|
1452
|
+
|
1453
|
+
|
1454
|
+
</div>
|
1455
|
+
</div>
|
1456
|
+
<div class="tags">
|
1457
|
+
<p class="tag_title">Parameters:</p>
|
1458
|
+
<ul class="param">
|
1459
|
+
|
1460
|
+
<li>
|
1461
|
+
|
1462
|
+
<span class='name'>command</span>
|
1463
|
+
|
1464
|
+
|
1465
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1466
|
+
|
1467
|
+
|
1468
|
+
|
1469
|
+
—
|
1470
|
+
<div class='inline'><p>The command to execute.</p>
|
1471
|
+
</div>
|
1472
|
+
|
1473
|
+
</li>
|
1474
|
+
|
1475
|
+
</ul>
|
1476
|
+
|
1477
|
+
<p class="tag_title">Returns:</p>
|
1478
|
+
<ul class="return">
|
1479
|
+
|
1480
|
+
<li>
|
1481
|
+
|
1482
|
+
|
1483
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1484
|
+
|
1485
|
+
|
1486
|
+
|
1487
|
+
—
|
1488
|
+
<div class='inline'><p><code>true</code> if command succeeded, <code>false</code> otherwise.</p>
|
1489
|
+
</div>
|
1490
|
+
|
1491
|
+
</li>
|
1492
|
+
|
1493
|
+
</ul>
|
1494
|
+
|
1495
|
+
</div><table class="source_code">
|
1496
|
+
<tr>
|
1497
|
+
<td>
|
1498
|
+
<pre class="lines">
|
1499
|
+
|
1500
|
+
|
1501
|
+
127
|
1502
|
+
128
|
1503
|
+
129</pre>
|
1504
|
+
</td>
|
1505
|
+
<td>
|
1506
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 127</span>
|
1507
|
+
|
1508
|
+
<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
|
+
<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>
|
1510
|
+
<span class='kw'>end</span></pre>
|
1511
|
+
</td>
|
1512
|
+
</tr>
|
1513
|
+
</table>
|
1514
|
+
</div>
|
1515
|
+
|
1516
|
+
<div class="method_details ">
|
1517
|
+
<h3 class="signature " id="get_logger-instance_method">
|
1518
|
+
|
1519
|
+
- (<tt>Logger</tt>) <strong>get_logger</strong>
|
1520
|
+
|
1521
|
+
|
1522
|
+
|
1523
|
+
|
1524
|
+
|
1525
|
+
</h3><div class="docstring">
|
1526
|
+
<div class="discussion">
|
1527
|
+
<p>Gets the current logger of the application.</p>
|
1528
|
+
|
1529
|
+
|
1530
|
+
</div>
|
1531
|
+
</div>
|
1532
|
+
<div class="tags">
|
1533
|
+
|
1534
|
+
<p class="tag_title">Returns:</p>
|
1535
|
+
<ul class="return">
|
1536
|
+
|
1537
|
+
<li>
|
1538
|
+
|
1539
|
+
|
1540
|
+
<span class='type'>(<tt>Logger</tt>)</span>
|
1541
|
+
|
1542
|
+
|
1543
|
+
|
1544
|
+
—
|
1545
|
+
<div class='inline'><p>The current logger of the application.</p>
|
1546
|
+
</div>
|
1547
|
+
|
1548
|
+
</li>
|
1549
|
+
|
1550
|
+
</ul>
|
1551
|
+
|
1552
|
+
</div><table class="source_code">
|
1553
|
+
<tr>
|
1554
|
+
<td>
|
1555
|
+
<pre class="lines">
|
1556
|
+
|
1557
|
+
|
1558
|
+
111
|
1559
|
+
112
|
1560
|
+
113</pre>
|
1561
|
+
</td>
|
1562
|
+
<td>
|
1563
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 111</span>
|
1564
|
+
|
1565
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_get_logger'>get_logger</span>
|
1566
|
+
<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_default_file'>default_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>
|
1567
|
+
<span class='kw'>end</span></pre>
|
1568
|
+
</td>
|
1569
|
+
</tr>
|
1570
|
+
</table>
|
1571
|
+
</div>
|
1572
|
+
|
1573
|
+
<div class="method_details ">
|
1574
|
+
<h3 class="signature " id="is_ipv4?-instance_method">
|
1575
|
+
|
1576
|
+
- (<tt>Boolean</tt>) <strong>is_ipv4?</strong>(address)
|
1577
|
+
|
1578
|
+
|
1579
|
+
|
1580
|
+
|
1581
|
+
|
1582
|
+
</h3><div class="docstring">
|
1583
|
+
<div class="discussion">
|
1584
|
+
<p>Checks if and address is a valid IPv4 address.</p>
|
1585
|
+
|
1586
|
+
|
1587
|
+
</div>
|
1588
|
+
</div>
|
1589
|
+
<div class="tags">
|
1590
|
+
<p class="tag_title">Parameters:</p>
|
1591
|
+
<ul class="param">
|
1592
|
+
|
1593
|
+
<li>
|
1594
|
+
|
1595
|
+
<span class='name'>address</span>
|
1596
|
+
|
1597
|
+
|
1598
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1599
|
+
|
1600
|
+
|
1601
|
+
|
1602
|
+
—
|
1603
|
+
<div class='inline'><p>The address to check.</p>
|
1604
|
+
</div>
|
1605
|
+
|
1606
|
+
</li>
|
1607
|
+
|
1608
|
+
</ul>
|
1609
|
+
|
1610
|
+
<p class="tag_title">Returns:</p>
|
1611
|
+
<ul class="return">
|
1612
|
+
|
1613
|
+
<li>
|
1614
|
+
|
1615
|
+
|
1616
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1617
|
+
|
1618
|
+
|
1619
|
+
|
1620
|
+
—
|
1621
|
+
<div class='inline'><p><code>true</code> if the address is a valid IPv4 address, <code>false</code> otherwise.</p>
|
1622
|
+
</div>
|
1623
|
+
|
1624
|
+
</li>
|
1625
|
+
|
1626
|
+
</ul>
|
1627
|
+
|
1628
|
+
</div><table class="source_code">
|
1629
|
+
<tr>
|
1630
|
+
<td>
|
1631
|
+
<pre class="lines">
|
1632
|
+
|
1633
|
+
|
1634
|
+
70
|
1635
|
+
71
|
1636
|
+
72
|
1637
|
+
73
|
1638
|
+
74
|
1639
|
+
75</pre>
|
1640
|
+
</td>
|
1641
|
+
<td>
|
1642
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 70</span>
|
1643
|
+
|
1644
|
+
<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
|
+
<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>
|
1646
|
+
|
1647
|
+
<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>
|
1648
|
+
<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>
|
1649
|
+
<span class='kw'>end</span></pre>
|
1650
|
+
</td>
|
1651
|
+
</tr>
|
1652
|
+
</table>
|
1653
|
+
</div>
|
1654
|
+
|
1655
|
+
<div class="method_details ">
|
1656
|
+
<h3 class="signature " id="is_ipv6?-instance_method">
|
1657
|
+
|
1658
|
+
- (<tt>Boolean</tt>) <strong>is_ipv6?</strong>(address)
|
1659
|
+
|
1660
|
+
|
1661
|
+
|
1662
|
+
|
1663
|
+
|
1664
|
+
</h3><div class="docstring">
|
1665
|
+
<div class="discussion">
|
1666
|
+
<p>Checks if and address is a valid IPv4 address.</p>
|
1667
|
+
|
1668
|
+
|
1669
|
+
</div>
|
1670
|
+
</div>
|
1671
|
+
<div class="tags">
|
1672
|
+
<p class="tag_title">Parameters:</p>
|
1673
|
+
<ul class="param">
|
1674
|
+
|
1675
|
+
<li>
|
1676
|
+
|
1677
|
+
<span class='name'>address</span>
|
1678
|
+
|
1679
|
+
|
1680
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1681
|
+
|
1682
|
+
|
1683
|
+
|
1684
|
+
—
|
1685
|
+
<div class='inline'><p>The address to check.</p>
|
1686
|
+
</div>
|
1687
|
+
|
1688
|
+
</li>
|
1689
|
+
|
1690
|
+
</ul>
|
1691
|
+
|
1692
|
+
<p class="tag_title">Returns:</p>
|
1693
|
+
<ul class="return">
|
1694
|
+
|
1695
|
+
<li>
|
1696
|
+
|
1697
|
+
|
1698
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1699
|
+
|
1700
|
+
|
1701
|
+
|
1702
|
+
—
|
1703
|
+
<div class='inline'><p><code>true</code> if the address is a valid IPv4 address, <code>false</code> otherwise.</p>
|
1704
|
+
</div>
|
1705
|
+
|
1706
|
+
</li>
|
1707
|
+
|
1708
|
+
</ul>
|
1709
|
+
|
1710
|
+
</div><table class="source_code">
|
1711
|
+
<tr>
|
1712
|
+
<td>
|
1713
|
+
<pre class="lines">
|
1714
|
+
|
1715
|
+
|
1716
|
+
81
|
1717
|
+
82
|
1718
|
+
83
|
1719
|
+
84
|
1720
|
+
85
|
1721
|
+
86
|
1722
|
+
87
|
1723
|
+
88
|
1724
|
+
89
|
1725
|
+
90
|
1726
|
+
91
|
1727
|
+
92
|
1728
|
+
93
|
1729
|
+
94
|
1730
|
+
95
|
1731
|
+
96</pre>
|
1732
|
+
</td>
|
1733
|
+
<td>
|
1734
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 81</span>
|
1735
|
+
|
1736
|
+
<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
|
+
<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>
|
1738
|
+
|
1739
|
+
<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>
|
1740
|
+
<span class='comment'># IPv6 (normal)
|
1741
|
+
</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>
|
1742
|
+
<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>
|
1743
|
+
<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>
|
1744
|
+
<span class='comment'># IPv6 (IPv4 compat)
|
1745
|
+
</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>
|
1746
|
+
<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>
|
1747
|
+
<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>
|
1748
|
+
|
1749
|
+
<span class='kw'>false</span>
|
1750
|
+
<span class='kw'>end</span>
|
1751
|
+
<span class='kw'>end</span></pre>
|
1752
|
+
</td>
|
1753
|
+
</tr>
|
1754
|
+
</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.
|
1769
|
+
System services are only available on that platform.</p>
|
1770
|
+
|
1771
|
+
|
1772
|
+
</div>
|
1773
|
+
</div>
|
1774
|
+
<div class="tags">
|
1775
|
+
|
1776
|
+
<p class="tag_title">Returns:</p>
|
1777
|
+
<ul class="return">
|
1778
|
+
|
1779
|
+
<li>
|
1780
|
+
|
1781
|
+
|
1782
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1783
|
+
|
1784
|
+
|
1785
|
+
|
1786
|
+
—
|
1787
|
+
<div class='inline'><p><code>true</code> if the current platform is MacOS X, <code>false</code> otherwise.</p>
|
1788
|
+
</div>
|
1789
|
+
|
1790
|
+
</li>
|
1791
|
+
|
1792
|
+
</ul>
|
1793
|
+
|
1794
|
+
</div><table class="source_code">
|
1795
|
+
<tr>
|
1796
|
+
<td>
|
1797
|
+
<pre class="lines">
|
1798
|
+
|
1799
|
+
|
1800
|
+
62
|
1801
|
+
63
|
1802
|
+
64</pre>
|
1803
|
+
</td>
|
1804
|
+
<td>
|
1805
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 62</span>
|
1806
|
+
|
1807
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_is_osx?'>is_osx?</span>
|
1808
|
+
<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>
|
1809
|
+
<span class='kw'>end</span></pre>
|
1810
|
+
</td>
|
1811
|
+
</tr>
|
1812
|
+
</table>
|
1813
|
+
</div>
|
1814
|
+
|
1815
|
+
<div class="method_details ">
|
1816
|
+
<h3 class="signature " id="launch_agent_path-instance_method">
|
1817
|
+
|
1818
|
+
- (<tt>String</tt>) <strong>launch_agent_path</strong>(name = "it.cowtech.akaer")
|
1819
|
+
|
1820
|
+
|
1821
|
+
|
1822
|
+
|
1823
|
+
|
1824
|
+
</h3><div class="docstring">
|
1825
|
+
<div class="discussion">
|
1826
|
+
<p>Gets the path for the launch agent file.</p>
|
1827
|
+
|
1828
|
+
|
1829
|
+
</div>
|
1830
|
+
</div>
|
1831
|
+
<div class="tags">
|
1832
|
+
<p class="tag_title">Parameters:</p>
|
1833
|
+
<ul class="param">
|
1834
|
+
|
1835
|
+
<li>
|
1836
|
+
|
1837
|
+
<span class='name'>name</span>
|
1838
|
+
|
1839
|
+
|
1840
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1841
|
+
|
1842
|
+
|
1843
|
+
<em class="default">(defaults to: <tt>"it.cowtech.akaer"</tt>)</em>
|
1844
|
+
|
1845
|
+
|
1846
|
+
—
|
1847
|
+
<div class='inline'><p>The base name for the agent.</p>
|
1848
|
+
</div>
|
1849
|
+
|
1850
|
+
</li>
|
1851
|
+
|
1852
|
+
</ul>
|
1853
|
+
|
1854
|
+
<p class="tag_title">Returns:</p>
|
1855
|
+
<ul class="return">
|
1856
|
+
|
1857
|
+
<li>
|
1858
|
+
|
1859
|
+
|
1860
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1861
|
+
|
1862
|
+
|
1863
|
+
|
1864
|
+
—
|
1865
|
+
<div class='inline'><p>The path for the launch agent file.</p>
|
1866
|
+
</div>
|
1867
|
+
|
1868
|
+
</li>
|
1869
|
+
|
1870
|
+
</ul>
|
1871
|
+
|
1872
|
+
</div><table class="source_code">
|
1873
|
+
<tr>
|
1874
|
+
<td>
|
1875
|
+
<pre class="lines">
|
1876
|
+
|
1877
|
+
|
1878
|
+
119
|
1879
|
+
120
|
1880
|
+
121</pre>
|
1881
|
+
</td>
|
1882
|
+
<td>
|
1883
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 119</span>
|
1884
|
+
|
1885
|
+
<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>
|
1886
|
+
<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>
|
1887
|
+
<span class='kw'>end</span></pre>
|
1888
|
+
</td>
|
1889
|
+
</tr>
|
1890
|
+
</table>
|
1891
|
+
</div>
|
1892
|
+
|
1893
|
+
<div class="method_details ">
|
1894
|
+
<h3 class="signature " id="manage-instance_method">
|
1895
|
+
|
1896
|
+
- (<tt>Boolean</tt>) <strong>manage</strong>(type, address)
|
1897
|
+
|
1898
|
+
|
1899
|
+
|
1900
|
+
|
1901
|
+
|
1902
|
+
</h3><div class="docstring">
|
1903
|
+
<div class="discussion">
|
1904
|
+
<p>Adds or removes an alias from the interface</p>
|
1905
|
+
|
1906
|
+
|
1907
|
+
</div>
|
1908
|
+
</div>
|
1909
|
+
<div class="tags">
|
1910
|
+
<p class="tag_title">Parameters:</p>
|
1911
|
+
<ul class="param">
|
1912
|
+
|
1913
|
+
<li>
|
1914
|
+
|
1915
|
+
<span class='name'>type</span>
|
1916
|
+
|
1917
|
+
|
1918
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
1919
|
+
|
1920
|
+
|
1921
|
+
|
1922
|
+
—
|
1923
|
+
<div class='inline'><p>The operation to execute. Can be <code>:add</code> or <code>:remove</code>.</p>
|
1924
|
+
</div>
|
1925
|
+
|
1926
|
+
</li>
|
1927
|
+
|
1928
|
+
<li>
|
1929
|
+
|
1930
|
+
<span class='name'>address</span>
|
1931
|
+
|
1932
|
+
|
1933
|
+
<span class='type'>(<tt>String</tt>)</span>
|
1934
|
+
|
1935
|
+
|
1936
|
+
|
1937
|
+
—
|
1938
|
+
<div class='inline'><p>The address to manage.</p>
|
1939
|
+
</div>
|
1940
|
+
|
1941
|
+
</li>
|
1942
|
+
|
1943
|
+
</ul>
|
1944
|
+
|
1945
|
+
<p class="tag_title">Returns:</p>
|
1946
|
+
<ul class="return">
|
1947
|
+
|
1948
|
+
<li>
|
1949
|
+
|
1950
|
+
|
1951
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
1952
|
+
|
1953
|
+
|
1954
|
+
|
1955
|
+
—
|
1956
|
+
<div class='inline'><p><code>true</code> if operation succedeed, <code>false</code> otherwise.</p>
|
1957
|
+
</div>
|
1958
|
+
|
1959
|
+
</li>
|
1960
|
+
|
1961
|
+
</ul>
|
1962
|
+
|
1963
|
+
</div><table class="source_code">
|
1964
|
+
<tr>
|
1965
|
+
<td>
|
1966
|
+
<pre class="lines">
|
1967
|
+
|
1968
|
+
|
1969
|
+
167
|
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</pre>
|
1995
|
+
</td>
|
1996
|
+
<td>
|
1997
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 167</span>
|
1998
|
+
|
1999
|
+
<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>
|
2000
|
+
<span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='kw'>true</span>
|
2001
|
+
|
2002
|
+
<span class='comment'># Compute the command
|
2003
|
+
</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>
|
2004
|
+
|
2005
|
+
<span class='comment'># Interpolate
|
2006
|
+
</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>
|
2007
|
+
|
2008
|
+
<span class='comment'># Compute the prefix
|
2009
|
+
</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>
|
2010
|
+
<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>
|
2011
|
+
<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>
|
2012
|
+
<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>
|
2013
|
+
|
2014
|
+
<span class='comment'># Now execute
|
2015
|
+
</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>
|
2016
|
+
<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>
|
2017
|
+
<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>
|
2018
|
+
<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>
|
2019
|
+
<span class='kw'>else</span>
|
2020
|
+
<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>
|
2021
|
+
<span class='kw'>end</span>
|
2022
|
+
|
2023
|
+
<span class='id identifier rubyid_rv'>rv</span>
|
2024
|
+
<span class='kw'>end</span></pre>
|
2025
|
+
</td>
|
2026
|
+
</tr>
|
2027
|
+
</table>
|
2028
|
+
</div>
|
2029
|
+
|
2030
|
+
<div class="method_details ">
|
2031
|
+
<h3 class="signature " id="pad_number-instance_method">
|
2032
|
+
|
2033
|
+
- (<tt>String</tt>) <strong>pad_number</strong>(num, len = nil)
|
2034
|
+
|
2035
|
+
|
2036
|
+
|
2037
|
+
|
2038
|
+
|
2039
|
+
</h3><div class="docstring">
|
2040
|
+
<div class="discussion">
|
2041
|
+
<p>Pads a number to make it print friendly.</p>
|
2042
|
+
|
2043
|
+
|
2044
|
+
</div>
|
2045
|
+
</div>
|
2046
|
+
<div class="tags">
|
2047
|
+
<p class="tag_title">Parameters:</p>
|
2048
|
+
<ul class="param">
|
2049
|
+
|
2050
|
+
<li>
|
2051
|
+
|
2052
|
+
<span class='name'>num</span>
|
2053
|
+
|
2054
|
+
|
2055
|
+
<span class='type'>(<tt>Fixnum</tt>)</span>
|
2056
|
+
|
2057
|
+
|
2058
|
+
|
2059
|
+
—
|
2060
|
+
<div class='inline'><p>The number to pad.</p>
|
2061
|
+
</div>
|
2062
|
+
|
2063
|
+
</li>
|
2064
|
+
|
2065
|
+
<li>
|
2066
|
+
|
2067
|
+
<span class='name'>len</span>
|
2068
|
+
|
2069
|
+
|
2070
|
+
<span class='type'>(<tt>Fixnum</tt>)</span>
|
2071
|
+
|
2072
|
+
|
2073
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
2074
|
+
|
2075
|
+
|
2076
|
+
—
|
2077
|
+
<div class='inline'><p>The minimum length of the padded string.</p>
|
2078
|
+
</div>
|
2079
|
+
|
2080
|
+
</li>
|
2081
|
+
|
2082
|
+
</ul>
|
2083
|
+
|
2084
|
+
<p class="tag_title">Returns:</p>
|
2085
|
+
<ul class="return">
|
2086
|
+
|
2087
|
+
<li>
|
2088
|
+
|
2089
|
+
|
2090
|
+
<span class='type'>(<tt>String</tt>)</span>
|
2091
|
+
|
2092
|
+
|
2093
|
+
|
2094
|
+
—
|
2095
|
+
<div class='inline'><p>The padded number.</p>
|
2096
|
+
</div>
|
2097
|
+
|
2098
|
+
</li>
|
2099
|
+
|
2100
|
+
</ul>
|
2101
|
+
|
2102
|
+
</div><table class="source_code">
|
2103
|
+
<tr>
|
2104
|
+
<td>
|
2105
|
+
<pre class="lines">
|
2106
|
+
|
2107
|
+
|
2108
|
+
104
|
2109
|
+
105
|
2110
|
+
106</pre>
|
2111
|
+
</td>
|
2112
|
+
<td>
|
2113
|
+
<pre class="code"><span class="info file"># File 'lib/akaer/application.rb', line 104</span>
|
2114
|
+
|
2115
|
+
<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>
|
2116
|
+
<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>
|
2117
|
+
<span class='kw'>end</span></pre>
|
2118
|
+
</td>
|
2119
|
+
</tr>
|
2120
|
+
</table>
|
2121
|
+
</div>
|
2122
|
+
|
2123
|
+
</div>
|
2124
|
+
|
2125
|
+
</div>
|
2126
|
+
|
2127
|
+
<div id="footer">
|
2128
|
+
Generated on Wed Aug 22 10:35:58 2012 by
|
2129
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
2130
|
+
0.8.2.1 (ruby-1.9.2).
|
2131
|
+
</div>
|
2132
|
+
|
2133
|
+
</body>
|
2134
|
+
</html>
|