devdnsd 1.7.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.travis-gemfile +14 -0
- data/.travis.yml +4 -4
- data/Gemfile +13 -1
- data/README.md +6 -3
- data/Rakefile +1 -8
- data/bin/devdnsd +15 -13
- data/devdnsd.gemspec +6 -13
- data/doc/DevDNSd/Application.html +1096 -1651
- data/doc/DevDNSd/ApplicationMethods/Server.html +517 -0
- data/doc/DevDNSd/ApplicationMethods/System/ClassMethods.html +372 -0
- data/doc/DevDNSd/ApplicationMethods/System.html +956 -0
- data/doc/DevDNSd/ApplicationMethods.html +125 -0
- data/doc/DevDNSd/Configuration.html +7 -6
- data/doc/DevDNSd/Errors/InvalidRule.html +3 -3
- data/doc/DevDNSd/Errors.html +3 -3
- data/doc/DevDNSd/Rule.html +1685 -218
- data/doc/DevDNSd/Version.html +5 -5
- data/doc/DevDNSd.html +6 -6
- data/doc/_index.html +43 -4
- data/doc/class_list.html +1 -1
- data/doc/file.README.html +47 -40
- data/doc/frames.html +1 -1
- data/doc/index.html +47 -40
- data/doc/method_list.html +69 -45
- data/doc/top-level-namespace.html +3 -3
- data/lib/devdnsd/application.rb +382 -290
- data/lib/devdnsd/configuration.rb +9 -9
- data/lib/devdnsd/errors.rb +1 -1
- data/lib/devdnsd/rule.rb +84 -48
- data/lib/devdnsd/version.rb +3 -3
- data/lib/devdnsd.rb +5 -2
- data/locales/en.yml +48 -0
- data/locales/it.yml +48 -0
- data/spec/coverage_helper.rb +6 -9
- data/spec/devdnsd/application_spec.rb +62 -42
- data/spec/devdnsd/configuration_spec.rb +1 -1
- data/spec/devdnsd/rule_spec.rb +7 -7
- data/spec/spec_helper.rb +1 -2
- data/utils/tester.rb +13 -27
- metadata +17 -142
- data/Gemfile.lock +0 -101
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: DevDNSd::Application
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.
|
9
|
+
— Documentation by YARD 0.8.4.1
|
10
10
|
|
11
11
|
</title>
|
12
12
|
|
@@ -92,11 +92,15 @@
|
|
92
92
|
|
93
93
|
|
94
94
|
|
95
|
+
<dt class="r2">Includes:</dt>
|
96
|
+
<dd class="r2"><span class='object_link'><a href="ApplicationMethods/Server.html" title="DevDNSd::ApplicationMethods::Server (module)">DevDNSd::ApplicationMethods::Server</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html" title="DevDNSd::ApplicationMethods::System (module)">DevDNSd::ApplicationMethods::System</a></span>, Lazier::I18n</dd>
|
97
|
+
|
98
|
+
|
95
99
|
|
96
100
|
|
97
101
|
|
98
|
-
<dt class="
|
99
|
-
<dd class="
|
102
|
+
<dt class="r1 last">Defined in:</dt>
|
103
|
+
<dd class="r1 last">lib/devdnsd/application.rb</dd>
|
100
104
|
|
101
105
|
</dl>
|
102
106
|
<div class="clear"></div>
|
@@ -158,7 +162,7 @@
|
|
158
162
|
<li class="public ">
|
159
163
|
<span class="summary_signature">
|
160
164
|
|
161
|
-
<a href="#command-instance_method" title="#command (instance method)">- (
|
165
|
+
<a href="#command-instance_method" title="#command (instance method)">- (Mamertes::Command) <strong>command</strong> </a>
|
162
166
|
|
163
167
|
|
164
168
|
|
@@ -186,7 +190,7 @@
|
|
186
190
|
<li class="public ">
|
187
191
|
<span class="summary_signature">
|
188
192
|
|
189
|
-
<a href="#config-instance_method" title="#config (instance method)">- (
|
193
|
+
<a href="#config-instance_method" title="#config (instance method)">- (Configuration) <strong>config</strong> </a>
|
190
194
|
|
191
195
|
|
192
196
|
|
@@ -214,7 +218,7 @@
|
|
214
218
|
<li class="public ">
|
215
219
|
<span class="summary_signature">
|
216
220
|
|
217
|
-
<a href="#
|
221
|
+
<a href="#locale-instance_method" title="#locale (instance method)">- (Symbol|nil) <strong>locale</strong> </a>
|
218
222
|
|
219
223
|
|
220
224
|
|
@@ -223,6 +227,8 @@
|
|
223
227
|
|
224
228
|
|
225
229
|
|
230
|
+
<span class="note title readonly">readonly</span>
|
231
|
+
|
226
232
|
|
227
233
|
|
228
234
|
|
@@ -231,29 +237,16 @@
|
|
231
237
|
|
232
238
|
|
233
239
|
|
234
|
-
<span class="summary_desc"><div class='inline'><p>The
|
240
|
+
<span class="summary_desc"><div class='inline'><p>The current application locale.</p>
|
235
241
|
</div></span>
|
236
242
|
|
237
243
|
</li>
|
238
244
|
|
239
245
|
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
<h2>
|
247
|
-
Class Method Summary
|
248
|
-
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
249
|
-
</h2>
|
250
|
-
|
251
|
-
<ul class="summary">
|
252
|
-
|
253
|
-
<li class="public ">
|
246
|
+
<li class="public ">
|
254
247
|
<span class="summary_signature">
|
255
248
|
|
256
|
-
<a href="#
|
249
|
+
<a href="#logger-instance_method" title="#logger (instance method)">- (Bovem::Logger) <strong>logger</strong> </a>
|
257
250
|
|
258
251
|
|
259
252
|
|
@@ -261,45 +254,38 @@
|
|
261
254
|
|
262
255
|
|
263
256
|
|
257
|
+
|
258
|
+
|
259
|
+
|
264
260
|
|
265
261
|
|
266
262
|
|
267
263
|
|
268
264
|
|
269
265
|
|
270
|
-
<span class="summary_desc"><div class='inline'><p>
|
266
|
+
<span class="summary_desc"><div class='inline'><p>The logger for this application.</p>
|
271
267
|
</div></span>
|
272
268
|
|
273
269
|
</li>
|
274
270
|
|
275
|
-
|
276
|
-
<li class="public ">
|
277
|
-
<span class="summary_signature">
|
278
|
-
|
279
|
-
<a href="#instance-class_method" title="instance (class method)">+ (Application) <strong>instance</strong>(command = nil, force = false) </a>
|
280
271
|
|
272
|
+
</ul>
|
273
|
+
|
274
|
+
|
281
275
|
|
282
|
-
|
283
|
-
</span>
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
276
|
|
292
277
|
|
293
|
-
<
|
294
|
-
|
295
|
-
|
296
|
-
</
|
278
|
+
<h2>
|
279
|
+
Class Method Summary
|
280
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
281
|
+
</h2>
|
297
282
|
|
283
|
+
<ul class="summary">
|
298
284
|
|
299
285
|
<li class="public ">
|
300
286
|
<span class="summary_signature">
|
301
287
|
|
302
|
-
<a href="#
|
288
|
+
<a href="#check_ruby_implementation-class_method" title="check_ruby_implementation (class method)">+ (Object) <strong>check_ruby_implementation</strong> </a>
|
303
289
|
|
304
290
|
|
305
291
|
|
@@ -313,7 +299,7 @@
|
|
313
299
|
|
314
300
|
|
315
301
|
|
316
|
-
<span class="summary_desc"><div class='inline'><p>
|
302
|
+
<span class="summary_desc"><div class='inline'><p>Check if the current implementation supports DevDNSd.</p>
|
317
303
|
</div></span>
|
318
304
|
|
319
305
|
</li>
|
@@ -322,7 +308,7 @@
|
|
322
308
|
<li class="public ">
|
323
309
|
<span class="summary_signature">
|
324
310
|
|
325
|
-
<a href="#
|
311
|
+
<a href="#instance-class_method" title="instance (class method)">+ (Application) <strong>instance</strong>(command = nil, locale = nil, force = false) </a>
|
326
312
|
|
327
313
|
|
328
314
|
|
@@ -336,7 +322,7 @@
|
|
336
322
|
|
337
323
|
|
338
324
|
|
339
|
-
<span class="summary_desc"><div class='inline'><p>Returns
|
325
|
+
<span class="summary_desc"><div class='inline'><p>Returns a unique (singleton) instance of the application.</p>
|
340
326
|
</div></span>
|
341
327
|
|
342
328
|
</li>
|
@@ -400,7 +386,7 @@
|
|
400
386
|
<li class="public ">
|
401
387
|
<span class="summary_signature">
|
402
388
|
|
403
|
-
<a href="#
|
389
|
+
<a href="#get_logger-instance_method" title="#get_logger (instance method)">- (Logger) <strong>get_logger</strong> </a>
|
404
390
|
|
405
391
|
|
406
392
|
|
@@ -414,7 +400,7 @@
|
|
414
400
|
|
415
401
|
|
416
402
|
|
417
|
-
<span class="summary_desc"><div class='inline'><p>
|
403
|
+
<span class="summary_desc"><div class='inline'><p>Gets the current logger of the application.</p>
|
418
404
|
</div></span>
|
419
405
|
|
420
406
|
</li>
|
@@ -423,13 +409,15 @@
|
|
423
409
|
<li class="public ">
|
424
410
|
<span class="summary_signature">
|
425
411
|
|
426
|
-
<a href="#
|
412
|
+
<a href="#initialize-instance_method" title="#initialize (instance method)">- (Application) <strong>initialize</strong>(command, locale) </a>
|
427
413
|
|
428
414
|
|
429
415
|
|
430
416
|
</span>
|
431
417
|
|
432
418
|
|
419
|
+
<span class="note title constructor">constructor</span>
|
420
|
+
|
433
421
|
|
434
422
|
|
435
423
|
|
@@ -437,7 +425,7 @@
|
|
437
425
|
|
438
426
|
|
439
427
|
|
440
|
-
<span class="summary_desc"><div class='inline'><p>
|
428
|
+
<span class="summary_desc"><div class='inline'><p>Creates a new application.</p>
|
441
429
|
</div></span>
|
442
430
|
|
443
431
|
</li>
|
@@ -446,7 +434,7 @@
|
|
446
434
|
<li class="public ">
|
447
435
|
<span class="summary_signature">
|
448
436
|
|
449
|
-
<a href="#
|
437
|
+
<a href="#on_start-instance_method" title="#on_start (instance method)">- (NilClass) <strong>on_start</strong> </a>
|
450
438
|
|
451
439
|
|
452
440
|
|
@@ -460,7 +448,7 @@
|
|
460
448
|
|
461
449
|
|
462
450
|
|
463
|
-
<span class="summary_desc"><div class='inline'><p>
|
451
|
+
<span class="summary_desc"><div class='inline'><p>This method is called when the server starts.</p>
|
464
452
|
</div></span>
|
465
453
|
|
466
454
|
</li>
|
@@ -469,7 +457,7 @@
|
|
469
457
|
<li class="public ">
|
470
458
|
<span class="summary_signature">
|
471
459
|
|
472
|
-
<a href="#
|
460
|
+
<a href="#on_stop-instance_method" title="#on_stop (instance method)">- (NilClass) <strong>on_stop</strong> </a>
|
473
461
|
|
474
462
|
|
475
463
|
|
@@ -483,43 +471,27 @@
|
|
483
471
|
|
484
472
|
|
485
473
|
|
486
|
-
<span class="summary_desc"><div class='inline'><p>
|
474
|
+
<span class="summary_desc"><div class='inline'><p>This method is called when the server stop.</p>
|
487
475
|
</div></span>
|
488
476
|
|
489
477
|
</li>
|
490
478
|
|
491
479
|
|
492
|
-
|
493
|
-
<span class="summary_signature">
|
494
|
-
|
495
|
-
<a href="#dns_update-instance_method" title="#dns_update (instance method)">- (Boolean) <strong>dns_update</strong> </a>
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
</span>
|
480
|
+
</ul>
|
500
481
|
|
482
|
+
|
483
|
+
|
501
484
|
|
502
485
|
|
503
486
|
|
504
487
|
|
505
488
|
|
506
489
|
|
507
|
-
|
508
490
|
|
509
|
-
<span class="summary_desc"><div class='inline'><p>Updates DNS cache.</p>
|
510
|
-
</div></span>
|
511
491
|
|
512
|
-
</
|
492
|
+
<h3 class="inherited">Methods included from <span class='object_link'><a href="ApplicationMethods/Server.html" title="DevDNSd::ApplicationMethods::Server (module)">DevDNSd::ApplicationMethods::Server</a></span></h3>
|
493
|
+
<p class="inherited"><span class='object_link'><a href="ApplicationMethods/Server.html#perform_server-instance_method" title="DevDNSd::ApplicationMethods::Server#perform_server (method)">#perform_server</a></span>, <span class='object_link'><a href="ApplicationMethods/Server.html#process_rule-instance_method" title="DevDNSd::ApplicationMethods::Server#process_rule (method)">#process_rule</a></span>, <span class='object_link'><a href="ApplicationMethods/Server.html#process_rule_in_classes-instance_method" title="DevDNSd::ApplicationMethods::Server#process_rule_in_classes (method)">#process_rule_in_classes</a></span></p>
|
513
494
|
|
514
|
-
|
515
|
-
<li class="public ">
|
516
|
-
<span class="summary_signature">
|
517
|
-
|
518
|
-
<a href="#execute_command-instance_method" title="#execute_command (instance method)">- (Boolean) <strong>execute_command</strong>(command) </a>
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
</span>
|
523
495
|
|
524
496
|
|
525
497
|
|
@@ -527,874 +499,154 @@
|
|
527
499
|
|
528
500
|
|
529
501
|
|
530
|
-
|
531
|
-
|
532
|
-
<span class="summary_desc"><div class='inline'><p>Executes a shell command.</p>
|
533
|
-
</div></span>
|
534
502
|
|
535
|
-
</
|
536
|
-
|
537
|
-
|
538
|
-
<li class="public ">
|
539
|
-
<span class="summary_signature">
|
540
|
-
|
541
|
-
<a href="#get_logger-instance_method" title="#get_logger (instance method)">- (Logger) <strong>get_logger</strong> </a>
|
542
|
-
|
503
|
+
<h3 class="inherited">Methods included from <span class='object_link'><a href="ApplicationMethods/System.html" title="DevDNSd::ApplicationMethods::System (module)">DevDNSd::ApplicationMethods::System</a></span></h3>
|
504
|
+
<p class="inherited"><span class='object_link'><a href="ApplicationMethods/System.html#action_install-instance_method" title="DevDNSd::ApplicationMethods::System#action_install (method)">#action_install</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html#action_start-instance_method" title="DevDNSd::ApplicationMethods::System#action_start (method)">#action_start</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html#action_stop-instance_method" title="DevDNSd::ApplicationMethods::System#action_stop (method)">#action_stop</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html#action_uninstall-instance_method" title="DevDNSd::ApplicationMethods::System#action_uninstall (method)">#action_uninstall</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html#dns_update-instance_method" title="DevDNSd::ApplicationMethods::System#dns_update (method)">#dns_update</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html#execute_command-instance_method" title="DevDNSd::ApplicationMethods::System#execute_command (method)">#execute_command</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html#is_osx%3F-instance_method" title="DevDNSd::ApplicationMethods::System#is_osx? (method)">#is_osx?</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html#launch_agent_path-instance_method" title="DevDNSd::ApplicationMethods::System#launch_agent_path (method)">#launch_agent_path</a></span>, <span class='object_link'><a href="ApplicationMethods/System.html#resolver_path-instance_method" title="DevDNSd::ApplicationMethods::System#resolver_path (method)">#resolver_path</a></span></p>
|
543
505
|
|
544
|
-
|
545
|
-
</span>
|
546
|
-
|
547
|
-
|
548
506
|
|
549
507
|
|
508
|
+
<div id="constructor_details" class="method_details_list">
|
509
|
+
<h2>Constructor Details</h2>
|
550
510
|
|
511
|
+
<div class="method_details first">
|
512
|
+
<h3 class="signature first" id="initialize-instance_method">
|
551
513
|
|
514
|
+
- (<tt><span class='object_link'><a href="" title="DevDNSd::Application (class)">Application</a></span></tt>) <strong>initialize</strong>(command, locale)
|
552
515
|
|
553
516
|
|
554
517
|
|
555
|
-
|
556
|
-
</div></span>
|
518
|
+
|
557
519
|
|
558
|
-
</
|
520
|
+
</h3><div class="docstring">
|
521
|
+
<div class="discussion">
|
522
|
+
<p>Creates a new application.</p>
|
559
523
|
|
560
|
-
|
561
|
-
<li class="public ">
|
562
|
-
<span class="summary_signature">
|
563
|
-
|
564
|
-
<a href="#initialize-instance_method" title="#initialize (instance method)">- (Application) <strong>initialize</strong>(command) </a>
|
565
|
-
|
566
524
|
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
525
|
+
</div>
|
526
|
+
</div>
|
527
|
+
<div class="tags">
|
528
|
+
<p class="tag_title">Parameters:</p>
|
529
|
+
<ul class="param">
|
575
530
|
|
531
|
+
<li>
|
532
|
+
|
533
|
+
<span class='name'>command</span>
|
534
|
+
|
535
|
+
|
536
|
+
<span class='type'>(<tt>Mamertes::Command</tt>)</span>
|
537
|
+
|
538
|
+
|
539
|
+
|
540
|
+
—
|
541
|
+
<div class='inline'><p>The current Mamertes command.</p>
|
542
|
+
</div>
|
543
|
+
|
544
|
+
</li>
|
576
545
|
|
546
|
+
<li>
|
547
|
+
|
548
|
+
<span class='name'>locale</span>
|
549
|
+
|
550
|
+
|
551
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
552
|
+
|
553
|
+
|
554
|
+
|
555
|
+
—
|
556
|
+
<div class='inline'><p>The locale to use for the application.</p>
|
557
|
+
</div>
|
558
|
+
|
559
|
+
</li>
|
577
560
|
|
561
|
+
</ul>
|
578
562
|
|
579
|
-
|
580
|
-
<span class="summary_desc"><div class='inline'><p>Creates a new application.</p>
|
581
|
-
</div></span>
|
582
|
-
|
583
|
-
</li>
|
584
563
|
|
585
|
-
|
586
|
-
|
587
|
-
|
588
|
-
|
589
|
-
<a href="#is_osx%3F-instance_method" title="#is_osx? (instance method)">- (Boolean) <strong>is_osx?</strong> </a>
|
590
|
-
|
564
|
+
</div><table class="source_code">
|
565
|
+
<tr>
|
566
|
+
<td>
|
567
|
+
<pre class="lines">
|
591
568
|
|
592
|
-
|
593
|
-
</span>
|
594
|
-
|
595
|
-
|
596
|
-
|
597
|
-
|
598
|
-
|
599
|
-
|
600
|
-
|
601
569
|
|
602
|
-
|
603
|
-
|
604
|
-
|
605
|
-
|
606
|
-
|
570
|
+
395
|
571
|
+
396
|
572
|
+
397
|
573
|
+
398
|
574
|
+
399
|
575
|
+
400
|
576
|
+
401
|
577
|
+
402
|
578
|
+
403
|
579
|
+
404
|
580
|
+
405
|
581
|
+
406
|
582
|
+
407
|
583
|
+
408
|
584
|
+
409
|
585
|
+
410
|
586
|
+
411</pre>
|
587
|
+
</td>
|
588
|
+
<td>
|
589
|
+
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 395</span>
|
607
590
|
|
608
|
-
|
609
|
-
|
610
|
-
<span class=
|
611
|
-
|
612
|
-
<a href="#launch_agent_path-instance_method" title="#launch_agent_path (instance method)">- (String) <strong>launch_agent_path</strong>(name = "it.cowtech.devdnsd") </a>
|
613
|
-
|
591
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
592
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n_setup'>i18n_setup</span><span class='lparen'>(</span><span class='symbol'>:devdnsd</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
593
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
614
594
|
|
615
|
-
|
616
|
-
</span>
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
595
|
+
<span class='ivar'>@locale</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
596
|
+
<span class='ivar'>@command</span> <span class='op'>=</span> <span class='id identifier rubyid_command'>command</span>
|
597
|
+
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_get_options'>get_options</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span>
|
624
598
|
|
625
|
-
|
626
|
-
|
627
|
-
</
|
628
|
-
|
629
|
-
</li>
|
599
|
+
<span class='comment'># Setup logger
|
600
|
+
</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>
|
601
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>log_file</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_default_file'>default_file</span><span class='comma'>,</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='rparen'>)</span>
|
630
602
|
|
631
|
-
|
632
|
-
|
633
|
-
<span class="summary_signature">
|
634
|
-
|
635
|
-
<a href="#on_start-instance_method" title="#on_start (instance method)">- (NilClass) <strong>on_start</strong> </a>
|
636
|
-
|
603
|
+
<span class='comment'># Open configuration
|
604
|
+
</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
637
605
|
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
606
|
+
<span class='kw'>self</span>
|
607
|
+
<span class='kw'>end</span></pre>
|
608
|
+
</td>
|
609
|
+
</tr>
|
610
|
+
</table>
|
611
|
+
</div>
|
644
612
|
|
613
|
+
</div>
|
614
|
+
|
615
|
+
<div id="instance_attr_details" class="attr_details">
|
616
|
+
<h2>Instance Attribute Details</h2>
|
617
|
+
|
618
|
+
|
619
|
+
<span id=""></span>
|
620
|
+
<div class="method_details first">
|
621
|
+
<h3 class="signature first" id="command-instance_method">
|
645
622
|
|
623
|
+
- (<tt>Mamertes::Command</tt>) <strong>command</strong> <span class="extras">(readonly)</span>
|
646
624
|
|
647
625
|
|
648
626
|
|
649
|
-
|
650
|
-
</div></span>
|
627
|
+
|
651
628
|
|
652
|
-
</
|
629
|
+
</h3><div class="docstring">
|
630
|
+
<div class="discussion">
|
631
|
+
<p>The Mamertes command.</p>
|
653
632
|
|
654
|
-
|
655
|
-
<li class="public ">
|
656
|
-
<span class="summary_signature">
|
657
|
-
|
658
|
-
<a href="#on_stop-instance_method" title="#on_stop (instance method)">- (NilClass) <strong>on_stop</strong> </a>
|
659
|
-
|
660
633
|
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
634
|
+
</div>
|
635
|
+
</div>
|
636
|
+
<div class="tags">
|
669
637
|
|
670
|
-
|
671
|
-
|
672
|
-
<span class="summary_desc"><div class='inline'><p>This method is called when the server stop.</p>
|
673
|
-
</div></span>
|
674
|
-
|
675
|
-
</li>
|
676
|
-
|
677
|
-
|
678
|
-
<li class="public ">
|
679
|
-
<span class="summary_signature">
|
680
|
-
|
681
|
-
<a href="#perform_server-instance_method" title="#perform_server (instance method)">- (Object) <strong>perform_server</strong> </a>
|
682
|
-
|
683
|
-
|
684
|
-
|
685
|
-
</span>
|
686
|
-
|
687
|
-
|
688
|
-
|
689
|
-
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
<span class="summary_desc"><div class='inline'><p>Starts the DNS server.</p>
|
696
|
-
</div></span>
|
697
|
-
|
698
|
-
</li>
|
699
|
-
|
700
|
-
|
701
|
-
<li class="public ">
|
702
|
-
<span class="summary_signature">
|
703
|
-
|
704
|
-
<a href="#process_rule-instance_method" title="#process_rule (instance method)">- (Object) <strong>process_rule</strong>(rule, type, match_data, transaction) </a>
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
</span>
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
<span class="summary_desc"><div class='inline'><p>Processes a DNS rule.</p>
|
719
|
-
</div></span>
|
720
|
-
|
721
|
-
</li>
|
722
|
-
|
723
|
-
|
724
|
-
<li class="public ">
|
725
|
-
<span class="summary_signature">
|
726
|
-
|
727
|
-
<a href="#resolver_path-instance_method" title="#resolver_path (instance method)">- (String) <strong>resolver_path</strong>(tld = nil) </a>
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
</span>
|
732
|
-
|
733
|
-
|
734
|
-
|
735
|
-
|
736
|
-
|
737
|
-
|
738
|
-
|
739
|
-
|
740
|
-
|
741
|
-
<span class="summary_desc"><div class='inline'><p>Gets the path for the resolver file.</p>
|
742
|
-
</div></span>
|
743
|
-
|
744
|
-
</li>
|
745
|
-
|
746
|
-
|
747
|
-
</ul>
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
<div id="constructor_details" class="method_details_list">
|
752
|
-
<h2>Constructor Details</h2>
|
753
|
-
|
754
|
-
<div class="method_details first">
|
755
|
-
<h3 class="signature first" id="initialize-instance_method">
|
756
|
-
|
757
|
-
- (<tt><span class='object_link'><a href="" title="DevDNSd::Application (class)">Application</a></span></tt>) <strong>initialize</strong>(command)
|
758
|
-
|
759
|
-
|
760
|
-
|
761
|
-
|
762
|
-
|
763
|
-
</h3><div class="docstring">
|
764
|
-
<div class="discussion">
|
765
|
-
<p>Creates a new application.</p>
|
766
|
-
|
767
|
-
|
768
|
-
</div>
|
769
|
-
</div>
|
770
|
-
<div class="tags">
|
771
|
-
<p class="tag_title">Parameters:</p>
|
772
|
-
<ul class="param">
|
773
|
-
|
774
|
-
<li>
|
775
|
-
|
776
|
-
<span class='name'>command</span>
|
777
|
-
|
778
|
-
|
779
|
-
<span class='type'>(<tt>Mamertes::Command</tt>)</span>
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
—
|
784
|
-
<div class='inline'><p>The current Mamertes command.</p>
|
785
|
-
</div>
|
786
|
-
|
787
|
-
</li>
|
788
|
-
|
789
|
-
</ul>
|
790
|
-
|
791
|
-
|
792
|
-
</div><table class="source_code">
|
793
|
-
<tr>
|
794
|
-
<td>
|
795
|
-
<pre class="lines">
|
796
|
-
|
797
|
-
|
798
|
-
29
|
799
|
-
30
|
800
|
-
31
|
801
|
-
32
|
802
|
-
33
|
803
|
-
34
|
804
|
-
35
|
805
|
-
36
|
806
|
-
37
|
807
|
-
38
|
808
|
-
39
|
809
|
-
40
|
810
|
-
41
|
811
|
-
42
|
812
|
-
43
|
813
|
-
44
|
814
|
-
45
|
815
|
-
46
|
816
|
-
47
|
817
|
-
48
|
818
|
-
49
|
819
|
-
50
|
820
|
-
51
|
821
|
-
52
|
822
|
-
53
|
823
|
-
54
|
824
|
-
55
|
825
|
-
56
|
826
|
-
57
|
827
|
-
58</pre>
|
828
|
-
</td>
|
829
|
-
<td>
|
830
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 29</span>
|
831
|
-
|
832
|
-
<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>
|
833
|
-
<span class='ivar'>@command</span> <span class='op'>=</span> <span class='id identifier rubyid_command'>command</span>
|
834
|
-
<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>
|
835
|
-
|
836
|
-
<span class='comment'># Setup logger
|
837
|
-
</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>
|
838
|
-
<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>
|
839
|
-
|
840
|
-
<span class='comment'># Open configuration
|
841
|
-
</span> <span class='kw'>begin</span>
|
842
|
-
<span class='id identifier rubyid_overrides'>overrides</span> <span class='op'>=</span> <span class='lbrace'>{</span>
|
843
|
-
<span class='symbol'>:foreground</span> <span class='op'>=></span> <span class='id identifier rubyid_command'>command</span><span class='period'>.</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'>start</span><span class='tstring_end'>"</span></span> <span class='op'>?</span> <span class='id identifier rubyid_command'>command</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'>foreground</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='op'>:</span> <span class='kw'>false</span><span class='comma'>,</span>
|
844
|
-
<span class='symbol'>:tld</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'>tld</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>
|
845
|
-
<span class='symbol'>:port</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'>port</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>
|
846
|
-
<span class='symbol'>:pid_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'>pid-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>
|
847
|
-
<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>
|
848
|
-
<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>
|
849
|
-
<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>
|
850
|
-
|
851
|
-
<span class='ivar'>@config</span> <span class='op'>=</span> <span class='const'>DevDNSd</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>
|
852
|
-
|
853
|
-
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
854
|
-
<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>
|
855
|
-
<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='comma'>,</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>InvalidRule</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
856
|
-
<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 </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'>. Exiting...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
857
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='op'>::</span><span class='const'>SystemExit</span>
|
858
|
-
<span class='kw'>end</span>
|
859
|
-
|
860
|
-
<span class='kw'>self</span>
|
861
|
-
<span class='kw'>end</span></pre>
|
862
|
-
</td>
|
863
|
-
</tr>
|
864
|
-
</table>
|
865
|
-
</div>
|
866
|
-
|
867
|
-
</div>
|
868
|
-
|
869
|
-
<div id="instance_attr_details" class="attr_details">
|
870
|
-
<h2>Instance Attribute Details</h2>
|
871
|
-
|
872
|
-
|
873
|
-
<span id=""></span>
|
874
|
-
<div class="method_details first">
|
875
|
-
<h3 class="signature first" id="command-instance_method">
|
876
|
-
|
877
|
-
- (<tt>Object</tt>) <strong>command</strong> <span class="extras">(readonly)</span>
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
</h3><div class="docstring">
|
884
|
-
<div class="discussion">
|
885
|
-
<p>The Mamertes command.</p>
|
886
|
-
|
887
|
-
|
888
|
-
</div>
|
889
|
-
</div>
|
890
|
-
<div class="tags">
|
891
|
-
|
892
|
-
|
893
|
-
</div><table class="source_code">
|
894
|
-
<tr>
|
895
|
-
<td>
|
896
|
-
<pre class="lines">
|
897
|
-
|
898
|
-
|
899
|
-
21
|
900
|
-
22
|
901
|
-
23</pre>
|
902
|
-
</td>
|
903
|
-
<td>
|
904
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 21</span>
|
905
|
-
|
906
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_command'>command</span>
|
907
|
-
<span class='ivar'>@command</span>
|
908
|
-
<span class='kw'>end</span></pre>
|
909
|
-
</td>
|
910
|
-
</tr>
|
911
|
-
</table>
|
912
|
-
</div>
|
913
|
-
|
914
|
-
|
915
|
-
<span id=""></span>
|
916
|
-
<div class="method_details ">
|
917
|
-
<h3 class="signature " id="config-instance_method">
|
918
|
-
|
919
|
-
- (<tt>Object</tt>) <strong>config</strong> <span class="extras">(readonly)</span>
|
920
|
-
|
921
|
-
|
922
|
-
|
923
|
-
|
924
|
-
|
925
|
-
</h3><div class="docstring">
|
926
|
-
<div class="discussion">
|
927
|
-
<p>The <span class='object_link'><a href="Configuration.html" title="DevDNSd::Configuration (class)">Configuration</a></span> of this application.</p>
|
928
|
-
|
929
|
-
|
930
|
-
</div>
|
931
|
-
</div>
|
932
|
-
<div class="tags">
|
933
|
-
|
934
|
-
|
935
|
-
</div><table class="source_code">
|
936
|
-
<tr>
|
937
|
-
<td>
|
938
|
-
<pre class="lines">
|
939
|
-
|
940
|
-
|
941
|
-
18
|
942
|
-
19
|
943
|
-
20</pre>
|
944
|
-
</td>
|
945
|
-
<td>
|
946
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 18</span>
|
947
|
-
|
948
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_config'>config</span>
|
949
|
-
<span class='ivar'>@config</span>
|
950
|
-
<span class='kw'>end</span></pre>
|
951
|
-
</td>
|
952
|
-
</tr>
|
953
|
-
</table>
|
954
|
-
</div>
|
955
|
-
|
956
|
-
|
957
|
-
<span id="logger=-instance_method"></span>
|
958
|
-
<div class="method_details ">
|
959
|
-
<h3 class="signature " id="logger-instance_method">
|
960
|
-
|
961
|
-
- (<tt>Object</tt>) <strong>logger</strong>
|
962
|
-
|
963
|
-
|
964
|
-
|
965
|
-
|
966
|
-
|
967
|
-
</h3><div class="docstring">
|
968
|
-
<div class="discussion">
|
969
|
-
<p>The logger for this application.</p>
|
970
|
-
|
971
|
-
|
972
|
-
</div>
|
973
|
-
</div>
|
974
|
-
<div class="tags">
|
975
|
-
|
976
|
-
|
977
|
-
</div><table class="source_code">
|
978
|
-
<tr>
|
979
|
-
<td>
|
980
|
-
<pre class="lines">
|
981
|
-
|
982
|
-
|
983
|
-
24
|
984
|
-
25
|
985
|
-
26</pre>
|
986
|
-
</td>
|
987
|
-
<td>
|
988
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 24</span>
|
989
|
-
|
990
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_logger'>logger</span>
|
991
|
-
<span class='ivar'>@logger</span>
|
992
|
-
<span class='kw'>end</span></pre>
|
993
|
-
</td>
|
994
|
-
</tr>
|
995
|
-
</table>
|
996
|
-
</div>
|
997
|
-
|
998
|
-
</div>
|
999
|
-
|
1000
|
-
|
1001
|
-
<div id="class_method_details" class="method_details_list">
|
1002
|
-
<h2>Class Method Details</h2>
|
1003
|
-
|
1004
|
-
|
1005
|
-
<div class="method_details first">
|
1006
|
-
<h3 class="signature first" id="daemon_name-class_method">
|
1007
|
-
|
1008
|
-
+ (<tt>String</tt>) <strong>daemon_name</strong>
|
1009
|
-
|
1010
|
-
|
1011
|
-
|
1012
|
-
|
1013
|
-
|
1014
|
-
</h3><div class="docstring">
|
1015
|
-
<div class="discussion">
|
1016
|
-
<p>Returns the name of the daemon.</p>
|
1017
|
-
|
1018
|
-
|
1019
|
-
</div>
|
1020
|
-
</div>
|
1021
|
-
<div class="tags">
|
1022
|
-
|
1023
|
-
<p class="tag_title">Returns:</p>
|
1024
|
-
<ul class="return">
|
1025
|
-
|
1026
|
-
<li>
|
1027
|
-
|
1028
|
-
|
1029
|
-
<span class='type'>(<tt>String</tt>)</span>
|
1030
|
-
|
1031
|
-
|
1032
|
-
|
1033
|
-
—
|
1034
|
-
<div class='inline'><p>The name of the daemon.</p>
|
1035
|
-
</div>
|
1036
|
-
|
1037
|
-
</li>
|
1038
|
-
|
1039
|
-
</ul>
|
1040
|
-
|
1041
|
-
</div><table class="source_code">
|
1042
|
-
<tr>
|
1043
|
-
<td>
|
1044
|
-
<pre class="lines">
|
1045
|
-
|
1046
|
-
|
1047
|
-
63
|
1048
|
-
64
|
1049
|
-
65</pre>
|
1050
|
-
</td>
|
1051
|
-
<td>
|
1052
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 63</span>
|
1053
|
-
|
1054
|
-
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_daemon_name'>daemon_name</span>
|
1055
|
-
<span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_basename'>basename</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_pid_file'>pid_file</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>.pid</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1056
|
-
<span class='kw'>end</span></pre>
|
1057
|
-
</td>
|
1058
|
-
</tr>
|
1059
|
-
</table>
|
1060
|
-
</div>
|
1061
|
-
|
1062
|
-
<div class="method_details ">
|
1063
|
-
<h3 class="signature " id="instance-class_method">
|
1064
|
-
|
1065
|
-
+ (<tt><span class='object_link'><a href="" title="DevDNSd::Application (class)">Application</a></span></tt>) <strong>instance</strong>(command = nil, force = false)
|
1066
|
-
|
1067
|
-
|
1068
|
-
|
1069
|
-
|
1070
|
-
|
1071
|
-
</h3><div class="docstring">
|
1072
|
-
<div class="discussion">
|
1073
|
-
<p>Returns a unique (singleton) instance of the application.</p>
|
1074
|
-
|
1075
|
-
|
1076
|
-
</div>
|
1077
|
-
</div>
|
1078
|
-
<div class="tags">
|
1079
|
-
<p class="tag_title">Parameters:</p>
|
1080
|
-
<ul class="param">
|
1081
|
-
|
1082
|
-
<li>
|
1083
|
-
|
1084
|
-
<span class='name'>command</span>
|
1085
|
-
|
1086
|
-
|
1087
|
-
<span class='type'>(<tt>Mamertes::Command</tt>)</span>
|
1088
|
-
|
1089
|
-
|
1090
|
-
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1091
|
-
|
1092
|
-
|
1093
|
-
—
|
1094
|
-
<div class='inline'><p>The current Mamertes command.</p>
|
1095
|
-
</div>
|
1096
|
-
|
1097
|
-
</li>
|
1098
|
-
|
1099
|
-
<li>
|
1100
|
-
|
1101
|
-
<span class='name'>force</span>
|
1102
|
-
|
1103
|
-
|
1104
|
-
<span class='type'>(<tt>Boolean</tt>)</span>
|
1105
|
-
|
1106
|
-
|
1107
|
-
<em class="default">(defaults to: <tt>false</tt>)</em>
|
1108
|
-
|
1109
|
-
|
1110
|
-
—
|
1111
|
-
<div class='inline'><p>If to force recreation of the instance.</p>
|
1112
|
-
</div>
|
1113
|
-
|
1114
|
-
</li>
|
1115
|
-
|
1116
|
-
</ul>
|
1117
|
-
|
1118
|
-
<p class="tag_title">Returns:</p>
|
1119
|
-
<ul class="return">
|
1120
|
-
|
1121
|
-
<li>
|
1122
|
-
|
1123
|
-
|
1124
|
-
<span class='type'>(<tt><span class='object_link'><a href="" title="DevDNSd::Application (class)">Application</a></span></tt>)</span>
|
1125
|
-
|
1126
|
-
|
1127
|
-
|
1128
|
-
—
|
1129
|
-
<div class='inline'><p>The unique (singleton) instance of the application.</p>
|
1130
|
-
</div>
|
1131
|
-
|
1132
|
-
</li>
|
1133
|
-
|
1134
|
-
</ul>
|
1135
|
-
|
1136
|
-
</div><table class="source_code">
|
1137
|
-
<tr>
|
1138
|
-
<td>
|
1139
|
-
<pre class="lines">
|
1140
|
-
|
1141
|
-
|
1142
|
-
369
|
1143
|
-
370
|
1144
|
-
371
|
1145
|
-
372
|
1146
|
-
373</pre>
|
1147
|
-
</td>
|
1148
|
-
<td>
|
1149
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 369</span>
|
1150
|
-
|
1151
|
-
<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='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1152
|
-
<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>
|
1153
|
-
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='const'>DevDNSd</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> <span class='kw'>if</span> <span class='id identifier rubyid_command'>command</span>
|
1154
|
-
<span class='ivar'>@instance</span>
|
1155
|
-
<span class='kw'>end</span></pre>
|
1156
|
-
</td>
|
1157
|
-
</tr>
|
1158
|
-
</table>
|
1159
|
-
</div>
|
1160
|
-
|
1161
|
-
<div class="method_details ">
|
1162
|
-
<h3 class="signature " id="pid_directory-class_method">
|
1163
|
-
|
1164
|
-
+ (<tt>String</tt>) <strong>pid_directory</strong>
|
1165
|
-
|
1166
|
-
|
1167
|
-
|
1168
|
-
|
1169
|
-
|
1170
|
-
</h3><div class="docstring">
|
1171
|
-
<div class="discussion">
|
1172
|
-
<p>Returns the standard location of the PID file.</p>
|
1173
|
-
|
1174
|
-
|
1175
|
-
</div>
|
1176
|
-
</div>
|
1177
|
-
<div class="tags">
|
1178
|
-
|
1179
|
-
<p class="tag_title">Returns:</p>
|
1180
|
-
<ul class="return">
|
1181
|
-
|
1182
|
-
<li>
|
1183
|
-
|
1184
|
-
|
1185
|
-
<span class='type'>(<tt>String</tt>)</span>
|
1186
|
-
|
1187
|
-
|
1188
|
-
|
1189
|
-
—
|
1190
|
-
<div class='inline'><p>The standard location of the PID file.</p>
|
1191
|
-
</div>
|
1192
|
-
|
1193
|
-
</li>
|
1194
|
-
|
1195
|
-
</ul>
|
1196
|
-
|
1197
|
-
</div><table class="source_code">
|
1198
|
-
<tr>
|
1199
|
-
<td>
|
1200
|
-
<pre class="lines">
|
1201
|
-
|
1202
|
-
|
1203
|
-
70
|
1204
|
-
71
|
1205
|
-
72</pre>
|
1206
|
-
</td>
|
1207
|
-
<td>
|
1208
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 70</span>
|
1209
|
-
|
1210
|
-
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_pid_directory'>pid_directory</span>
|
1211
|
-
<span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_pid_file'>pid_file</span><span class='rparen'>)</span>
|
1212
|
-
<span class='kw'>end</span></pre>
|
1213
|
-
</td>
|
1214
|
-
</tr>
|
1215
|
-
</table>
|
1216
|
-
</div>
|
1217
|
-
|
1218
|
-
<div class="method_details ">
|
1219
|
-
<h3 class="signature " id="pid_fn-class_method">
|
1220
|
-
|
1221
|
-
+ (<tt>String</tt>) <strong>pid_fn</strong>
|
1222
|
-
|
1223
|
-
|
1224
|
-
|
1225
|
-
|
1226
|
-
|
1227
|
-
</h3><div class="docstring">
|
1228
|
-
<div class="discussion">
|
1229
|
-
<p>Returns the complete path of the PID file.</p>
|
1230
|
-
|
1231
|
-
|
1232
|
-
</div>
|
1233
|
-
</div>
|
1234
|
-
<div class="tags">
|
1235
|
-
|
1236
|
-
<p class="tag_title">Returns:</p>
|
1237
|
-
<ul class="return">
|
1238
|
-
|
1239
|
-
<li>
|
1240
|
-
|
1241
|
-
|
1242
|
-
<span class='type'>(<tt>String</tt>)</span>
|
1243
|
-
|
1244
|
-
|
1245
|
-
|
1246
|
-
—
|
1247
|
-
<div class='inline'><p>The complete path of the PID file.</p>
|
1248
|
-
</div>
|
1249
|
-
|
1250
|
-
</li>
|
1251
|
-
|
1252
|
-
</ul>
|
1253
|
-
|
1254
|
-
</div><table class="source_code">
|
1255
|
-
<tr>
|
1256
|
-
<td>
|
1257
|
-
<pre class="lines">
|
1258
|
-
|
1259
|
-
|
1260
|
-
77
|
1261
|
-
78
|
1262
|
-
79</pre>
|
1263
|
-
</td>
|
1264
|
-
<td>
|
1265
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 77</span>
|
1266
|
-
|
1267
|
-
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_pid_fn'>pid_fn</span>
|
1268
|
-
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_pid_file'>pid_file</span>
|
1269
|
-
<span class='kw'>end</span></pre>
|
1270
|
-
</td>
|
1271
|
-
</tr>
|
1272
|
-
</table>
|
1273
|
-
</div>
|
1274
|
-
|
1275
|
-
<div class="method_details ">
|
1276
|
-
<h3 class="signature " id="quit-class_method">
|
1277
|
-
|
1278
|
-
+ (<tt>Object</tt>) <strong>quit</strong>
|
1279
|
-
|
1280
|
-
|
1281
|
-
|
1282
|
-
|
1283
|
-
|
1284
|
-
</h3><div class="docstring">
|
1285
|
-
<div class="discussion">
|
1286
|
-
<p>Stops the application.</p>
|
1287
|
-
|
1288
|
-
|
1289
|
-
</div>
|
1290
|
-
</div>
|
1291
|
-
<div class="tags">
|
1292
|
-
|
1293
|
-
|
1294
|
-
</div><table class="source_code">
|
1295
|
-
<tr>
|
1296
|
-
<td>
|
1297
|
-
<pre class="lines">
|
1298
|
-
|
1299
|
-
|
1300
|
-
383
|
1301
|
-
384
|
1302
|
-
385</pre>
|
1303
|
-
</td>
|
1304
|
-
<td>
|
1305
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 383</span>
|
1306
|
-
|
1307
|
-
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_quit'>quit</span>
|
1308
|
-
<span class='op'>::</span><span class='const'>EventMachine</span><span class='period'>.</span><span class='id identifier rubyid_stop'>stop</span>
|
1309
|
-
<span class='kw'>end</span></pre>
|
1310
|
-
</td>
|
1311
|
-
</tr>
|
1312
|
-
</table>
|
1313
|
-
</div>
|
1314
|
-
|
1315
|
-
<div class="method_details ">
|
1316
|
-
<h3 class="signature " id="run-class_method">
|
1317
|
-
|
1318
|
-
+ (<tt>Object</tt>) <strong>run</strong>
|
1319
|
-
|
1320
|
-
|
1321
|
-
|
1322
|
-
|
1323
|
-
|
1324
|
-
</h3><div class="docstring">
|
1325
|
-
<div class="discussion">
|
1326
|
-
<p>Runs the application in foreground.</p>
|
1327
|
-
|
1328
|
-
|
1329
|
-
</div>
|
1330
|
-
</div>
|
1331
|
-
<div class="tags">
|
1332
|
-
|
1333
|
-
|
1334
|
-
<p class="tag_title">See Also:</p>
|
1335
|
-
<ul class="see">
|
1336
|
-
|
1337
|
-
<li><span class='object_link'><a href="#perform_server-instance_method" title="DevDNSd::Application#perform_server (method)">#perform_server</a></span></li>
|
1338
|
-
|
1339
|
-
</ul>
|
1340
|
-
|
1341
|
-
</div><table class="source_code">
|
1342
|
-
<tr>
|
1343
|
-
<td>
|
1344
|
-
<pre class="lines">
|
1345
|
-
|
1346
|
-
|
1347
|
-
378
|
1348
|
-
379
|
1349
|
-
380</pre>
|
1350
|
-
</td>
|
1351
|
-
<td>
|
1352
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 378</span>
|
1353
|
-
|
1354
|
-
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span>
|
1355
|
-
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_perform_server'>perform_server</span>
|
1356
|
-
<span class='kw'>end</span></pre>
|
1357
|
-
</td>
|
1358
|
-
</tr>
|
1359
|
-
</table>
|
1360
|
-
</div>
|
1361
|
-
|
1362
|
-
</div>
|
1363
|
-
|
1364
|
-
<div id="instance_method_details" class="method_details_list">
|
1365
|
-
<h2>Instance Method Details</h2>
|
1366
|
-
|
1367
|
-
|
1368
|
-
<div class="method_details first">
|
1369
|
-
<h3 class="signature first" id="action_install-instance_method">
|
1370
|
-
|
1371
|
-
- (<tt>Boolean</tt>) <strong>action_install</strong>
|
1372
|
-
|
1373
|
-
|
1374
|
-
|
1375
|
-
|
1376
|
-
|
1377
|
-
</h3><div class="docstring">
|
1378
|
-
<div class="discussion">
|
1379
|
-
<p>Installs the server into the system.</p>
|
1380
|
-
|
1381
|
-
|
1382
|
-
</div>
|
1383
|
-
</div>
|
1384
|
-
<div class="tags">
|
1385
|
-
|
1386
|
-
<p class="tag_title">Returns:</p>
|
1387
|
-
<ul class="return">
|
638
|
+
<p class="tag_title">Returns:</p>
|
639
|
+
<ul class="return">
|
1388
640
|
|
1389
641
|
<li>
|
1390
642
|
|
1391
643
|
|
1392
|
-
<span class='type'>(<tt>
|
644
|
+
<span class='type'>(<tt>Mamertes::Command</tt>)</span>
|
1393
645
|
|
1394
646
|
|
1395
647
|
|
1396
648
|
—
|
1397
|
-
<div class='inline'><p
|
649
|
+
<div class='inline'><p>The Mamertes command.</p>
|
1398
650
|
</div>
|
1399
651
|
|
1400
652
|
</li>
|
@@ -1407,125 +659,229 @@
|
|
1407
659
|
<pre class="lines">
|
1408
660
|
|
1409
661
|
|
1410
|
-
|
1411
|
-
|
1412
|
-
|
1413
|
-
|
1414
|
-
|
1415
|
-
|
1416
|
-
|
1417
|
-
|
1418
|
-
|
1419
|
-
|
1420
|
-
|
1421
|
-
|
1422
|
-
|
1423
|
-
|
1424
|
-
|
1425
|
-
|
1426
|
-
|
1427
|
-
|
1428
|
-
|
1429
|
-
|
1430
|
-
|
1431
|
-
|
1432
|
-
|
1433
|
-
|
1434
|
-
|
1435
|
-
|
1436
|
-
|
1437
|
-
|
1438
|
-
|
1439
|
-
|
1440
|
-
|
1441
|
-
|
1442
|
-
|
1443
|
-
|
1444
|
-
|
1445
|
-
|
1446
|
-
|
1447
|
-
|
1448
|
-
|
1449
|
-
|
1450
|
-
|
1451
|
-
|
1452
|
-
|
1453
|
-
|
1454
|
-
|
1455
|
-
|
1456
|
-
|
1457
|
-
|
1458
|
-
|
1459
|
-
|
1460
|
-
|
1461
|
-
|
1462
|
-
|
662
|
+
375
|
663
|
+
376
|
664
|
+
377
|
665
|
+
378
|
666
|
+
379
|
667
|
+
380
|
668
|
+
381
|
669
|
+
382
|
670
|
+
383
|
671
|
+
384
|
672
|
+
385
|
673
|
+
386
|
674
|
+
387
|
675
|
+
388
|
676
|
+
389
|
677
|
+
390
|
678
|
+
391
|
679
|
+
392
|
680
|
+
393
|
681
|
+
394
|
682
|
+
395
|
683
|
+
396
|
684
|
+
397
|
685
|
+
398
|
686
|
+
399
|
687
|
+
400
|
688
|
+
401
|
689
|
+
402
|
690
|
+
403
|
691
|
+
404
|
692
|
+
405
|
693
|
+
406
|
694
|
+
407
|
695
|
+
408
|
696
|
+
409
|
697
|
+
410
|
698
|
+
411
|
699
|
+
412
|
700
|
+
413
|
701
|
+
414
|
702
|
+
415
|
703
|
+
416
|
704
|
+
417
|
705
|
+
418
|
706
|
+
419
|
707
|
+
420
|
708
|
+
421
|
709
|
+
422
|
710
|
+
423
|
711
|
+
424
|
712
|
+
425
|
713
|
+
426
|
714
|
+
427
|
715
|
+
428
|
716
|
+
429
|
717
|
+
430
|
718
|
+
431
|
719
|
+
432
|
720
|
+
433
|
721
|
+
434
|
722
|
+
435
|
723
|
+
436
|
724
|
+
437
|
725
|
+
438
|
726
|
+
439
|
727
|
+
440
|
728
|
+
441
|
729
|
+
442
|
730
|
+
443
|
731
|
+
444
|
732
|
+
445
|
733
|
+
446
|
734
|
+
447
|
735
|
+
448
|
736
|
+
449
|
737
|
+
450
|
738
|
+
451
|
739
|
+
452
|
740
|
+
453
|
741
|
+
454
|
742
|
+
455
|
743
|
+
456
|
744
|
+
457
|
745
|
+
458
|
746
|
+
459
|
747
|
+
460
|
748
|
+
461
|
749
|
+
462
|
750
|
+
463
|
751
|
+
464
|
752
|
+
465
|
753
|
+
466
|
754
|
+
467
|
755
|
+
468
|
756
|
+
469
|
757
|
+
470
|
758
|
+
471
|
759
|
+
472
|
760
|
+
473
|
761
|
+
474
|
762
|
+
475
|
763
|
+
476
|
764
|
+
477
|
765
|
+
478</pre>
|
1463
766
|
</td>
|
1464
767
|
<td>
|
1465
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line
|
768
|
+
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 375</span>
|
769
|
+
|
770
|
+
<span class='kw'>class</span> <span class='const'>Application</span> <span class='op'><</span> <span class='const'>RExec</span><span class='op'>::</span><span class='const'>Daemon</span><span class='op'>::</span><span class='const'>Base</span>
|
771
|
+
<span class='comment'># Class for ANY DNS request.
|
772
|
+
</span> <span class='const'>ANY_REQUEST</span> <span class='op'>=</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>ANY</span>
|
773
|
+
|
774
|
+
<span class='comment'># List of classes handled in case of DNS request with resource class ANY.
|
775
|
+
</span> <span class='const'>ANY_CLASSES</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>A</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>AAAA</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>ANY</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>CNAME</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>HINFO</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>MINFO</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>MX</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>NS</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>PTR</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>SOA</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>TXT</span><span class='rbracket'>]</span>
|
776
|
+
|
777
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>I18n</span>
|
778
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>System</span>
|
779
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>Server</span>
|
1466
780
|
|
1467
|
-
<span class='
|
1468
|
-
<span class='id identifier
|
781
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:config</span>
|
782
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:command</span>
|
783
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:logger</span>
|
784
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:locale</span>
|
1469
785
|
|
1470
|
-
<span class='
|
1471
|
-
|
1472
|
-
|
786
|
+
<span class='comment'># Creates a new application.
|
787
|
+
</span> <span class='comment'>#
|
788
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
789
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
790
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
791
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n_setup'>i18n_setup</span><span class='lparen'>(</span><span class='symbol'>:devdnsd</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
792
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
793
|
+
|
794
|
+
<span class='ivar'>@locale</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
795
|
+
<span class='ivar'>@command</span> <span class='op'>=</span> <span class='id identifier rubyid_command'>command</span>
|
796
|
+
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_get_options'>get_options</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span>
|
797
|
+
|
798
|
+
<span class='comment'># Setup logger
|
799
|
+
</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>
|
800
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>log_file</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_default_file'>default_file</span><span class='comma'>,</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='rparen'>)</span>
|
801
|
+
|
802
|
+
<span class='comment'># Open configuration
|
803
|
+
</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
804
|
+
|
805
|
+
<span class='kw'>self</span>
|
1473
806
|
<span class='kw'>end</span>
|
1474
807
|
|
1475
|
-
<span class='
|
1476
|
-
|
1477
|
-
|
1478
|
-
<span class='
|
1479
|
-
</span>
|
1480
|
-
<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'>Installing the resolver in </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_resolver_file'>resolver_file</span><span class='rbrace'>}</span><span class='tstring_content'> ...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1481
|
-
|
1482
|
-
<span class='id identifier rubyid_open'>open</span><span class='lparen'>(</span><span class='id identifier rubyid_resolver_file'>resolver_file</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>
|
1483
|
-
<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='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>nameserver 127.0.0.1\n</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1484
|
-
<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='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>port </span><span class='embexpr_beg'>#{</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1485
|
-
<span class='id identifier rubyid_f'>f</span><span class='period'>.</span><span class='id identifier rubyid_flush'>flush</span>
|
1486
|
-
<span class='rbrace'>}</span>
|
1487
|
-
<span class='kw'>rescue</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1488
|
-
<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 resolver file.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1489
|
-
<span class='kw'>return</span> <span class='kw'>false</span>
|
808
|
+
<span class='comment'># Gets the current logger of the application.
|
809
|
+
</span> <span class='comment'>#
|
810
|
+
</span> <span class='comment'># @return [Logger] The current logger of the application.
|
811
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_get_logger'>get_logger</span>
|
812
|
+
<span class='ivar'>@logger</span> <span class='op'>||=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_foreground'>foreground</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='op'>:</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_file'>log_file</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_level'>log_level</span><span class='comma'>,</span> <span class='ivar'>@log_formatter</span><span class='rparen'>)</span>
|
1490
813
|
<span class='kw'>end</span>
|
1491
814
|
|
1492
|
-
<span class='
|
1493
|
-
|
815
|
+
<span class='comment'># This method is called when the server starts. By default is a no-op.
|
816
|
+
</span> <span class='comment'>#
|
817
|
+
</span> <span class='comment'># @return [NilClass] `nil`.
|
818
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_on_start'>on_start</span>
|
819
|
+
<span class='kw'>end</span>
|
820
|
+
|
821
|
+
<span class='comment'># This method is called when the server stop.
|
822
|
+
</span> <span class='comment'>#
|
823
|
+
</span> <span class='comment'># @return [NilClass] `nil`.
|
824
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_on_stop'>on_stop</span>
|
825
|
+
<span class='kw'>end</span>
|
1494
826
|
|
1495
|
-
|
827
|
+
<span class='comment'># Returns a unique (singleton) instance of the application.
|
828
|
+
</span> <span class='comment'>#
|
829
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
830
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
831
|
+
</span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
|
832
|
+
</span> <span class='comment'># @return [Application] The unique (singleton) instance of the application.
|
833
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
834
|
+
<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>
|
835
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_command'>command</span>
|
836
|
+
<span class='ivar'>@instance</span>
|
837
|
+
<span class='kw'>end</span>
|
1496
838
|
|
1497
|
-
|
1498
|
-
|
1499
|
-
|
1500
|
-
|
1501
|
-
<span class='
|
1502
|
-
<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>
|
1503
|
-
<span class='kw'>rescue</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1504
|
-
<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>
|
1505
|
-
<span class='kw'>return</span> <span class='kw'>false</span>
|
839
|
+
<span class='comment'># Runs the application in foreground.
|
840
|
+
</span> <span class='comment'>#
|
841
|
+
</span> <span class='comment'># @see #perform_server
|
842
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span>
|
843
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_perform_server'>perform_server</span>
|
1506
844
|
<span class='kw'>end</span>
|
1507
845
|
|
1508
|
-
<span class='
|
1509
|
-
|
1510
|
-
<span class='
|
1511
|
-
<span class='kw'>rescue</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1512
|
-
<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>
|
1513
|
-
<span class='kw'>return</span> <span class='kw'>false</span>
|
846
|
+
<span class='comment'># Stops the application.
|
847
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_quit'>quit</span>
|
848
|
+
<span class='op'>::</span><span class='const'>EventMachine</span><span class='period'>.</span><span class='id identifier rubyid_stop'>stop</span> <span class='kw'>rescue</span> <span class='kw'>nil</span>
|
1514
849
|
<span class='kw'>end</span>
|
1515
850
|
|
1516
|
-
<span class='
|
851
|
+
<span class='comment'># Check if the current implementation supports DevDNSd.
|
852
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_check_ruby_implementation'>check_ruby_implementation</span>
|
853
|
+
<span class='kw'>if</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>Rubinius</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>JRuby</span><span class='rparen'>)</span> <span class='kw'>then</span>
|
854
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span><span class='lparen'>(</span><span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Localizer</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:devdnsd</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span><span class='period'>.</span><span class='id identifier rubyid_no_jruby_rubinius'>no_jruby_rubinius</span><span class='rparen'>)</span>
|
855
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
856
|
+
<span class='kw'>end</span>
|
857
|
+
<span class='kw'>end</span>
|
1517
858
|
|
1518
|
-
<span class='
|
859
|
+
<span class='id identifier rubyid_private'>private</span>
|
860
|
+
<span class='comment'># Reads configuration.
|
861
|
+
</span> <span class='comment'>#
|
862
|
+
</span> <span class='comment'># @param options [Hash] The configuration to read.
|
863
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
864
|
+
<span class='kw'>begin</span>
|
865
|
+
<span class='ivar'>@config</span> <span class='op'>=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Configuration</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>configuration</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='ivar'>@logger</span><span class='rparen'>)</span>
|
866
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
867
|
+
<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>
|
868
|
+
<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>
|
869
|
+
<span class='ivar'>@logger</span> <span class='op'>?</span> <span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span><span class='period'>.</span><span class='id identifier rubyid_logging_failed'>logging_failed</span><span class='lparen'>(</span><span class='id identifier rubyid_log_file'>log_file</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
870
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='op'>::</span><span class='const'>SystemExit</span>
|
871
|
+
<span class='kw'>end</span>
|
872
|
+
<span class='kw'>end</span>
|
1519
873
|
<span class='kw'>end</span></pre>
|
1520
874
|
</td>
|
1521
875
|
</tr>
|
1522
876
|
</table>
|
1523
877
|
</div>
|
1524
878
|
|
879
|
+
|
880
|
+
<span id=""></span>
|
1525
881
|
<div class="method_details ">
|
1526
|
-
<h3 class="signature " id="
|
882
|
+
<h3 class="signature " id="config-instance_method">
|
1527
883
|
|
1528
|
-
- (<tt>
|
884
|
+
- (<tt><span class='object_link'><a href="Configuration.html" title="DevDNSd::Configuration (class)">Configuration</a></span></tt>) <strong>config</strong> <span class="extras">(readonly)</span>
|
1529
885
|
|
1530
886
|
|
1531
887
|
|
@@ -1533,7 +889,7 @@
|
|
1533
889
|
|
1534
890
|
</h3><div class="docstring">
|
1535
891
|
<div class="discussion">
|
1536
|
-
<p>
|
892
|
+
<p>The <span class='object_link'><a href="Configuration.html" title="DevDNSd::Configuration (class)">Configuration</a></span> of this application.</p>
|
1537
893
|
|
1538
894
|
|
1539
895
|
</div>
|
@@ -1546,12 +902,12 @@
|
|
1546
902
|
<li>
|
1547
903
|
|
1548
904
|
|
1549
|
-
<span class='type'>(<tt>
|
905
|
+
<span class='type'>(<tt><span class='object_link'><a href="Configuration.html" title="DevDNSd::Configuration (class)">Configuration</a></span></tt>)</span>
|
1550
906
|
|
1551
907
|
|
1552
908
|
|
1553
909
|
—
|
1554
|
-
<div class='inline'><p
|
910
|
+
<div class='inline'><p>The <span class='object_link'><a href="Configuration.html" title="DevDNSd::Configuration (class)">Configuration</a></span> of this application.</p>
|
1555
911
|
</div>
|
1556
912
|
|
1557
913
|
</li>
|
@@ -1564,45 +920,229 @@
|
|
1564
920
|
<pre class="lines">
|
1565
921
|
|
1566
922
|
|
1567
|
-
|
1568
|
-
|
1569
|
-
|
1570
|
-
|
1571
|
-
|
1572
|
-
|
1573
|
-
|
1574
|
-
|
1575
|
-
|
1576
|
-
|
1577
|
-
|
1578
|
-
|
1579
|
-
|
923
|
+
375
|
924
|
+
376
|
925
|
+
377
|
926
|
+
378
|
927
|
+
379
|
928
|
+
380
|
929
|
+
381
|
930
|
+
382
|
931
|
+
383
|
932
|
+
384
|
933
|
+
385
|
934
|
+
386
|
935
|
+
387
|
936
|
+
388
|
937
|
+
389
|
938
|
+
390
|
939
|
+
391
|
940
|
+
392
|
941
|
+
393
|
942
|
+
394
|
943
|
+
395
|
944
|
+
396
|
945
|
+
397
|
946
|
+
398
|
947
|
+
399
|
948
|
+
400
|
949
|
+
401
|
950
|
+
402
|
951
|
+
403
|
952
|
+
404
|
953
|
+
405
|
954
|
+
406
|
955
|
+
407
|
956
|
+
408
|
957
|
+
409
|
958
|
+
410
|
959
|
+
411
|
960
|
+
412
|
961
|
+
413
|
962
|
+
414
|
963
|
+
415
|
964
|
+
416
|
965
|
+
417
|
966
|
+
418
|
967
|
+
419
|
968
|
+
420
|
969
|
+
421
|
970
|
+
422
|
971
|
+
423
|
972
|
+
424
|
973
|
+
425
|
974
|
+
426
|
975
|
+
427
|
976
|
+
428
|
977
|
+
429
|
978
|
+
430
|
979
|
+
431
|
980
|
+
432
|
981
|
+
433
|
982
|
+
434
|
983
|
+
435
|
984
|
+
436
|
985
|
+
437
|
986
|
+
438
|
987
|
+
439
|
988
|
+
440
|
989
|
+
441
|
990
|
+
442
|
991
|
+
443
|
992
|
+
444
|
993
|
+
445
|
994
|
+
446
|
995
|
+
447
|
996
|
+
448
|
997
|
+
449
|
998
|
+
450
|
999
|
+
451
|
1000
|
+
452
|
1001
|
+
453
|
1002
|
+
454
|
1003
|
+
455
|
1004
|
+
456
|
1005
|
+
457
|
1006
|
+
458
|
1007
|
+
459
|
1008
|
+
460
|
1009
|
+
461
|
1010
|
+
462
|
1011
|
+
463
|
1012
|
+
464
|
1013
|
+
465
|
1014
|
+
466
|
1015
|
+
467
|
1016
|
+
468
|
1017
|
+
469
|
1018
|
+
470
|
1019
|
+
471
|
1020
|
+
472
|
1021
|
+
473
|
1022
|
+
474
|
1023
|
+
475
|
1024
|
+
476
|
1025
|
+
477
|
1026
|
+
478</pre>
|
1580
1027
|
</td>
|
1581
1028
|
<td>
|
1582
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line
|
1029
|
+
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 375</span>
|
1030
|
+
|
1031
|
+
<span class='kw'>class</span> <span class='const'>Application</span> <span class='op'><</span> <span class='const'>RExec</span><span class='op'>::</span><span class='const'>Daemon</span><span class='op'>::</span><span class='const'>Base</span>
|
1032
|
+
<span class='comment'># Class for ANY DNS request.
|
1033
|
+
</span> <span class='const'>ANY_REQUEST</span> <span class='op'>=</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>ANY</span>
|
1034
|
+
|
1035
|
+
<span class='comment'># List of classes handled in case of DNS request with resource class ANY.
|
1036
|
+
</span> <span class='const'>ANY_CLASSES</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>A</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>AAAA</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>ANY</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>CNAME</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>HINFO</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>MINFO</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>MX</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>NS</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>PTR</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>SOA</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>TXT</span><span class='rbracket'>]</span>
|
1037
|
+
|
1038
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>I18n</span>
|
1039
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>System</span>
|
1040
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>Server</span>
|
1041
|
+
|
1042
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:config</span>
|
1043
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:command</span>
|
1044
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:logger</span>
|
1045
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:locale</span>
|
1046
|
+
|
1047
|
+
<span class='comment'># Creates a new application.
|
1048
|
+
</span> <span class='comment'>#
|
1049
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
1050
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
1051
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1052
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n_setup'>i18n_setup</span><span class='lparen'>(</span><span class='symbol'>:devdnsd</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1053
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
1054
|
+
|
1055
|
+
<span class='ivar'>@locale</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
1056
|
+
<span class='ivar'>@command</span> <span class='op'>=</span> <span class='id identifier rubyid_command'>command</span>
|
1057
|
+
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_get_options'>get_options</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span>
|
1058
|
+
|
1059
|
+
<span class='comment'># Setup logger
|
1060
|
+
</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>
|
1061
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>log_file</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_default_file'>default_file</span><span class='comma'>,</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='rparen'>)</span>
|
1062
|
+
|
1063
|
+
<span class='comment'># Open configuration
|
1064
|
+
</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
1065
|
+
|
1066
|
+
<span class='kw'>self</span>
|
1067
|
+
<span class='kw'>end</span>
|
1068
|
+
|
1069
|
+
<span class='comment'># Gets the current logger of the application.
|
1070
|
+
</span> <span class='comment'>#
|
1071
|
+
</span> <span class='comment'># @return [Logger] The current logger of the application.
|
1072
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_get_logger'>get_logger</span>
|
1073
|
+
<span class='ivar'>@logger</span> <span class='op'>||=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_foreground'>foreground</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='op'>:</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_file'>log_file</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_level'>log_level</span><span class='comma'>,</span> <span class='ivar'>@log_formatter</span><span class='rparen'>)</span>
|
1074
|
+
<span class='kw'>end</span>
|
1075
|
+
|
1076
|
+
<span class='comment'># This method is called when the server starts. By default is a no-op.
|
1077
|
+
</span> <span class='comment'>#
|
1078
|
+
</span> <span class='comment'># @return [NilClass] `nil`.
|
1079
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_on_start'>on_start</span>
|
1080
|
+
<span class='kw'>end</span>
|
1081
|
+
|
1082
|
+
<span class='comment'># This method is called when the server stop.
|
1083
|
+
</span> <span class='comment'>#
|
1084
|
+
</span> <span class='comment'># @return [NilClass] `nil`.
|
1085
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_on_stop'>on_stop</span>
|
1086
|
+
<span class='kw'>end</span>
|
1087
|
+
|
1088
|
+
<span class='comment'># Returns a unique (singleton) instance of the application.
|
1089
|
+
</span> <span class='comment'>#
|
1090
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
1091
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
1092
|
+
</span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
|
1093
|
+
</span> <span class='comment'># @return [Application] The unique (singleton) instance of the application.
|
1094
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1095
|
+
<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>
|
1096
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_command'>command</span>
|
1097
|
+
<span class='ivar'>@instance</span>
|
1098
|
+
<span class='kw'>end</span>
|
1583
1099
|
|
1584
|
-
<span class='
|
1585
|
-
|
1100
|
+
<span class='comment'># Runs the application in foreground.
|
1101
|
+
</span> <span class='comment'>#
|
1102
|
+
</span> <span class='comment'># @see #perform_server
|
1103
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span>
|
1104
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_perform_server'>perform_server</span>
|
1105
|
+
<span class='kw'>end</span>
|
1586
1106
|
|
1587
|
-
<span class='
|
1107
|
+
<span class='comment'># Stops the application.
|
1108
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_quit'>quit</span>
|
1109
|
+
<span class='op'>::</span><span class='const'>EventMachine</span><span class='period'>.</span><span class='id identifier rubyid_stop'>stop</span> <span class='kw'>rescue</span> <span class='kw'>nil</span>
|
1110
|
+
<span class='kw'>end</span>
|
1588
1111
|
|
1589
|
-
<span class='
|
1590
|
-
|
1591
|
-
|
1592
|
-
|
1112
|
+
<span class='comment'># Check if the current implementation supports DevDNSd.
|
1113
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_check_ruby_implementation'>check_ruby_implementation</span>
|
1114
|
+
<span class='kw'>if</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>Rubinius</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>JRuby</span><span class='rparen'>)</span> <span class='kw'>then</span>
|
1115
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span><span class='lparen'>(</span><span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Localizer</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:devdnsd</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span><span class='period'>.</span><span class='id identifier rubyid_no_jruby_rubinius'>no_jruby_rubinius</span><span class='rparen'>)</span>
|
1116
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
1117
|
+
<span class='kw'>end</span>
|
1593
1118
|
<span class='kw'>end</span>
|
1594
1119
|
|
1595
|
-
<span class='
|
1120
|
+
<span class='id identifier rubyid_private'>private</span>
|
1121
|
+
<span class='comment'># Reads configuration.
|
1122
|
+
</span> <span class='comment'>#
|
1123
|
+
</span> <span class='comment'># @param options [Hash] The configuration to read.
|
1124
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
1125
|
+
<span class='kw'>begin</span>
|
1126
|
+
<span class='ivar'>@config</span> <span class='op'>=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Configuration</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>configuration</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='ivar'>@logger</span><span class='rparen'>)</span>
|
1127
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
1128
|
+
<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>
|
1129
|
+
<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>
|
1130
|
+
<span class='ivar'>@logger</span> <span class='op'>?</span> <span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span><span class='period'>.</span><span class='id identifier rubyid_logging_failed'>logging_failed</span><span class='lparen'>(</span><span class='id identifier rubyid_log_file'>log_file</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1131
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='op'>::</span><span class='const'>SystemExit</span>
|
1132
|
+
<span class='kw'>end</span>
|
1133
|
+
<span class='kw'>end</span>
|
1596
1134
|
<span class='kw'>end</span></pre>
|
1597
1135
|
</td>
|
1598
1136
|
</tr>
|
1599
1137
|
</table>
|
1600
1138
|
</div>
|
1601
1139
|
|
1140
|
+
|
1141
|
+
<span id=""></span>
|
1602
1142
|
<div class="method_details ">
|
1603
|
-
<h3 class="signature " id="
|
1143
|
+
<h3 class="signature " id="locale-instance_method">
|
1604
1144
|
|
1605
|
-
- (<tt>
|
1145
|
+
- (<tt>Symbol|nil</tt>) <strong>locale</strong> <span class="extras">(readonly)</span>
|
1606
1146
|
|
1607
1147
|
|
1608
1148
|
|
@@ -1610,7 +1150,7 @@
|
|
1610
1150
|
|
1611
1151
|
</h3><div class="docstring">
|
1612
1152
|
<div class="discussion">
|
1613
|
-
<p>
|
1153
|
+
<p>The current application locale.</p>
|
1614
1154
|
|
1615
1155
|
|
1616
1156
|
</div>
|
@@ -1623,12 +1163,12 @@
|
|
1623
1163
|
<li>
|
1624
1164
|
|
1625
1165
|
|
1626
|
-
<span class='type'>(<tt>
|
1166
|
+
<span class='type'>(<tt>Symbol|nil</tt>)</span>
|
1627
1167
|
|
1628
1168
|
|
1629
1169
|
|
1630
1170
|
—
|
1631
|
-
<div class='inline'><p
|
1171
|
+
<div class='inline'><p>The current application locale.</p>
|
1632
1172
|
</div>
|
1633
1173
|
|
1634
1174
|
</li>
|
@@ -1641,160 +1181,229 @@
|
|
1641
1181
|
<pre class="lines">
|
1642
1182
|
|
1643
1183
|
|
1644
|
-
|
1645
|
-
|
1646
|
-
|
1647
|
-
|
1648
|
-
|
1184
|
+
375
|
1185
|
+
376
|
1186
|
+
377
|
1187
|
+
378
|
1188
|
+
379
|
1189
|
+
380
|
1190
|
+
381
|
1191
|
+
382
|
1192
|
+
383
|
1193
|
+
384
|
1194
|
+
385
|
1195
|
+
386
|
1196
|
+
387
|
1197
|
+
388
|
1198
|
+
389
|
1199
|
+
390
|
1200
|
+
391
|
1201
|
+
392
|
1202
|
+
393
|
1203
|
+
394
|
1204
|
+
395
|
1205
|
+
396
|
1206
|
+
397
|
1207
|
+
398
|
1208
|
+
399
|
1209
|
+
400
|
1210
|
+
401
|
1211
|
+
402
|
1212
|
+
403
|
1213
|
+
404
|
1214
|
+
405
|
1215
|
+
406
|
1216
|
+
407
|
1217
|
+
408
|
1218
|
+
409
|
1219
|
+
410
|
1220
|
+
411
|
1221
|
+
412
|
1222
|
+
413
|
1223
|
+
414
|
1224
|
+
415
|
1225
|
+
416
|
1226
|
+
417
|
1227
|
+
418
|
1228
|
+
419
|
1229
|
+
420
|
1230
|
+
421
|
1231
|
+
422
|
1232
|
+
423
|
1233
|
+
424
|
1234
|
+
425
|
1235
|
+
426
|
1236
|
+
427
|
1237
|
+
428
|
1238
|
+
429
|
1239
|
+
430
|
1240
|
+
431
|
1241
|
+
432
|
1242
|
+
433
|
1243
|
+
434
|
1244
|
+
435
|
1245
|
+
436
|
1246
|
+
437
|
1247
|
+
438
|
1248
|
+
439
|
1249
|
+
440
|
1250
|
+
441
|
1251
|
+
442
|
1252
|
+
443
|
1253
|
+
444
|
1254
|
+
445
|
1255
|
+
446
|
1256
|
+
447
|
1257
|
+
448
|
1258
|
+
449
|
1259
|
+
450
|
1260
|
+
451
|
1261
|
+
452
|
1262
|
+
453
|
1263
|
+
454
|
1264
|
+
455
|
1265
|
+
456
|
1266
|
+
457
|
1267
|
+
458
|
1268
|
+
459
|
1269
|
+
460
|
1270
|
+
461
|
1271
|
+
462
|
1272
|
+
463
|
1273
|
+
464
|
1274
|
+
465
|
1275
|
+
466
|
1276
|
+
467
|
1277
|
+
468
|
1278
|
+
469
|
1279
|
+
470
|
1280
|
+
471
|
1281
|
+
472
|
1282
|
+
473
|
1283
|
+
474
|
1284
|
+
475
|
1285
|
+
476
|
1286
|
+
477
|
1287
|
+
478</pre>
|
1649
1288
|
</td>
|
1650
1289
|
<td>
|
1651
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line
|
1290
|
+
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 375</span>
|
1652
1291
|
|
1653
|
-
<span class='kw'>
|
1654
|
-
<span class='
|
1292
|
+
<span class='kw'>class</span> <span class='const'>Application</span> <span class='op'><</span> <span class='const'>RExec</span><span class='op'>::</span><span class='const'>Daemon</span><span class='op'>::</span><span class='const'>Base</span>
|
1293
|
+
<span class='comment'># Class for ANY DNS request.
|
1294
|
+
</span> <span class='const'>ANY_REQUEST</span> <span class='op'>=</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>ANY</span>
|
1655
1295
|
|
1656
|
-
<span class='
|
1657
|
-
<span class='
|
1658
|
-
</td>
|
1659
|
-
</tr>
|
1660
|
-
</table>
|
1661
|
-
</div>
|
1662
|
-
|
1663
|
-
<div class="method_details ">
|
1664
|
-
<h3 class="signature " id="action_uninstall-instance_method">
|
1665
|
-
|
1666
|
-
- (<tt>Boolean</tt>) <strong>action_uninstall</strong>
|
1667
|
-
|
1296
|
+
<span class='comment'># List of classes handled in case of DNS request with resource class ANY.
|
1297
|
+
</span> <span class='const'>ANY_CLASSES</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>A</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>AAAA</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>ANY</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>CNAME</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>HINFO</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>MINFO</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>MX</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>NS</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>PTR</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>SOA</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>TXT</span><span class='rbracket'>]</span>
|
1668
1298
|
|
1669
|
-
|
1299
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>I18n</span>
|
1300
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>System</span>
|
1301
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>Server</span>
|
1670
1302
|
|
1671
|
-
|
1672
|
-
</
|
1673
|
-
<
|
1674
|
-
|
1303
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:config</span>
|
1304
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:command</span>
|
1305
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:logger</span>
|
1306
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:locale</span>
|
1675
1307
|
|
1308
|
+
<span class='comment'># Creates a new application.
|
1309
|
+
</span> <span class='comment'>#
|
1310
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
1311
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
1312
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1313
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n_setup'>i18n_setup</span><span class='lparen'>(</span><span class='symbol'>:devdnsd</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1314
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
1676
1315
|
|
1677
|
-
|
1678
|
-
</
|
1679
|
-
<
|
1680
|
-
|
1681
|
-
<p class="tag_title">Returns:</p>
|
1682
|
-
<ul class="return">
|
1683
|
-
|
1684
|
-
<li>
|
1685
|
-
|
1686
|
-
|
1687
|
-
<span class='type'>(<tt>Boolean</tt>)</span>
|
1688
|
-
|
1689
|
-
|
1690
|
-
|
1691
|
-
—
|
1692
|
-
<div class='inline'><p><code>true</code> if action succedeed, <code>false</code> otherwise.</p>
|
1693
|
-
</div>
|
1694
|
-
|
1695
|
-
</li>
|
1696
|
-
|
1697
|
-
</ul>
|
1316
|
+
<span class='ivar'>@locale</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
1317
|
+
<span class='ivar'>@command</span> <span class='op'>=</span> <span class='id identifier rubyid_command'>command</span>
|
1318
|
+
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_get_options'>get_options</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span>
|
1698
1319
|
|
1699
|
-
|
1700
|
-
|
1701
|
-
<
|
1702
|
-
<pre class="lines">
|
1320
|
+
<span class='comment'># Setup logger
|
1321
|
+
</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>
|
1322
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>log_file</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_default_file'>default_file</span><span class='comma'>,</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='rparen'>)</span>
|
1703
1323
|
|
1324
|
+
<span class='comment'># Open configuration
|
1325
|
+
</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
1704
1326
|
|
1705
|
-
|
1706
|
-
|
1707
|
-
313
|
1708
|
-
314
|
1709
|
-
315
|
1710
|
-
316
|
1711
|
-
317
|
1712
|
-
318
|
1713
|
-
319
|
1714
|
-
320
|
1715
|
-
321
|
1716
|
-
322
|
1717
|
-
323
|
1718
|
-
324
|
1719
|
-
325
|
1720
|
-
326
|
1721
|
-
327
|
1722
|
-
328
|
1723
|
-
329
|
1724
|
-
330
|
1725
|
-
331
|
1726
|
-
332
|
1727
|
-
333
|
1728
|
-
334
|
1729
|
-
335
|
1730
|
-
336
|
1731
|
-
337
|
1732
|
-
338
|
1733
|
-
339
|
1734
|
-
340
|
1735
|
-
341
|
1736
|
-
342
|
1737
|
-
343
|
1738
|
-
344
|
1739
|
-
345
|
1740
|
-
346
|
1741
|
-
347
|
1742
|
-
348
|
1743
|
-
349
|
1744
|
-
350</pre>
|
1745
|
-
</td>
|
1746
|
-
<td>
|
1747
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 311</span>
|
1327
|
+
<span class='kw'>self</span>
|
1328
|
+
<span class='kw'>end</span>
|
1748
1329
|
|
1749
|
-
<span class='
|
1750
|
-
|
1330
|
+
<span class='comment'># Gets the current logger of the application.
|
1331
|
+
</span> <span class='comment'>#
|
1332
|
+
</span> <span class='comment'># @return [Logger] The current logger of the application.
|
1333
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_get_logger'>get_logger</span>
|
1334
|
+
<span class='ivar'>@logger</span> <span class='op'>||=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_foreground'>foreground</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='op'>:</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_file'>log_file</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_level'>log_level</span><span class='comma'>,</span> <span class='ivar'>@log_formatter</span><span class='rparen'>)</span>
|
1335
|
+
<span class='kw'>end</span>
|
1751
1336
|
|
1752
|
-
<span class='
|
1753
|
-
|
1754
|
-
|
1337
|
+
<span class='comment'># This method is called when the server starts. By default is a no-op.
|
1338
|
+
</span> <span class='comment'>#
|
1339
|
+
</span> <span class='comment'># @return [NilClass] `nil`.
|
1340
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_on_start'>on_start</span>
|
1755
1341
|
<span class='kw'>end</span>
|
1756
1342
|
|
1757
|
-
<span class='
|
1758
|
-
|
1343
|
+
<span class='comment'># This method is called when the server stop.
|
1344
|
+
</span> <span class='comment'>#
|
1345
|
+
</span> <span class='comment'># @return [NilClass] `nil`.
|
1346
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_on_stop'>on_stop</span>
|
1347
|
+
<span class='kw'>end</span>
|
1759
1348
|
|
1760
|
-
<span class='comment'>#
|
1761
|
-
</span> <span class='
|
1762
|
-
|
1763
|
-
|
1764
|
-
|
1765
|
-
|
1766
|
-
|
1349
|
+
<span class='comment'># Returns a unique (singleton) instance of the application.
|
1350
|
+
</span> <span class='comment'>#
|
1351
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
1352
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
1353
|
+
</span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
|
1354
|
+
</span> <span class='comment'># @return [Application] The unique (singleton) instance of the application.
|
1355
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1356
|
+
<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>
|
1357
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_command'>command</span>
|
1358
|
+
<span class='ivar'>@instance</span>
|
1767
1359
|
<span class='kw'>end</span>
|
1768
1360
|
|
1769
|
-
<span class='comment'>#
|
1770
|
-
</span> <span class='
|
1771
|
-
|
1772
|
-
<span class='kw'>
|
1773
|
-
<span class='
|
1361
|
+
<span class='comment'># Runs the application in foreground.
|
1362
|
+
</span> <span class='comment'>#
|
1363
|
+
</span> <span class='comment'># @see #perform_server
|
1364
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span>
|
1365
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_perform_server'>perform_server</span>
|
1774
1366
|
<span class='kw'>end</span>
|
1775
1367
|
|
1776
|
-
<span class='comment'>#
|
1777
|
-
</span> <span class='kw'>
|
1778
|
-
<span class='
|
1779
|
-
<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>
|
1780
|
-
<span class='kw'>rescue</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
1781
|
-
<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>
|
1782
|
-
<span class='kw'>return</span> <span class='kw'>false</span>
|
1368
|
+
<span class='comment'># Stops the application.
|
1369
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_quit'>quit</span>
|
1370
|
+
<span class='op'>::</span><span class='const'>EventMachine</span><span class='period'>.</span><span class='id identifier rubyid_stop'>stop</span> <span class='kw'>rescue</span> <span class='kw'>nil</span>
|
1783
1371
|
<span class='kw'>end</span>
|
1784
1372
|
|
1785
|
-
<span class='
|
1373
|
+
<span class='comment'># Check if the current implementation supports DevDNSd.
|
1374
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_check_ruby_implementation'>check_ruby_implementation</span>
|
1375
|
+
<span class='kw'>if</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>Rubinius</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>JRuby</span><span class='rparen'>)</span> <span class='kw'>then</span>
|
1376
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span><span class='lparen'>(</span><span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Localizer</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:devdnsd</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span><span class='period'>.</span><span class='id identifier rubyid_no_jruby_rubinius'>no_jruby_rubinius</span><span class='rparen'>)</span>
|
1377
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
1378
|
+
<span class='kw'>end</span>
|
1379
|
+
<span class='kw'>end</span>
|
1786
1380
|
|
1787
|
-
<span class='
|
1381
|
+
<span class='id identifier rubyid_private'>private</span>
|
1382
|
+
<span class='comment'># Reads configuration.
|
1383
|
+
</span> <span class='comment'>#
|
1384
|
+
</span> <span class='comment'># @param options [Hash] The configuration to read.
|
1385
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
1386
|
+
<span class='kw'>begin</span>
|
1387
|
+
<span class='ivar'>@config</span> <span class='op'>=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Configuration</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>configuration</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='ivar'>@logger</span><span class='rparen'>)</span>
|
1388
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
1389
|
+
<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>
|
1390
|
+
<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>
|
1391
|
+
<span class='ivar'>@logger</span> <span class='op'>?</span> <span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span><span class='period'>.</span><span class='id identifier rubyid_logging_failed'>logging_failed</span><span class='lparen'>(</span><span class='id identifier rubyid_log_file'>log_file</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1392
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='op'>::</span><span class='const'>SystemExit</span>
|
1393
|
+
<span class='kw'>end</span>
|
1394
|
+
<span class='kw'>end</span>
|
1788
1395
|
<span class='kw'>end</span></pre>
|
1789
1396
|
</td>
|
1790
1397
|
</tr>
|
1791
1398
|
</table>
|
1792
1399
|
</div>
|
1793
1400
|
|
1401
|
+
|
1402
|
+
<span id="logger=-instance_method"></span>
|
1794
1403
|
<div class="method_details ">
|
1795
|
-
<h3 class="signature " id="
|
1404
|
+
<h3 class="signature " id="logger-instance_method">
|
1796
1405
|
|
1797
|
-
- (<tt>
|
1406
|
+
- (<tt>Bovem::Logger</tt>) <strong>logger</strong>
|
1798
1407
|
|
1799
1408
|
|
1800
1409
|
|
@@ -1802,7 +1411,7 @@
|
|
1802
1411
|
|
1803
1412
|
</h3><div class="docstring">
|
1804
1413
|
<div class="discussion">
|
1805
|
-
<p>
|
1414
|
+
<p>The logger for this application.</p>
|
1806
1415
|
|
1807
1416
|
|
1808
1417
|
</div>
|
@@ -1815,12 +1424,12 @@
|
|
1815
1424
|
<li>
|
1816
1425
|
|
1817
1426
|
|
1818
|
-
<span class='type'>(<tt>
|
1427
|
+
<span class='type'>(<tt>Bovem::Logger</tt>)</span>
|
1819
1428
|
|
1820
1429
|
|
1821
1430
|
|
1822
1431
|
—
|
1823
|
-
<div class='inline'><p
|
1432
|
+
<div class='inline'><p>The logger for this application.</p>
|
1824
1433
|
</div>
|
1825
1434
|
|
1826
1435
|
</li>
|
@@ -1833,160 +1442,234 @@
|
|
1833
1442
|
<pre class="lines">
|
1834
1443
|
|
1835
1444
|
|
1836
|
-
|
1837
|
-
|
1838
|
-
|
1839
|
-
|
1445
|
+
375
|
1446
|
+
376
|
1447
|
+
377
|
1448
|
+
378
|
1449
|
+
379
|
1450
|
+
380
|
1451
|
+
381
|
1452
|
+
382
|
1453
|
+
383
|
1454
|
+
384
|
1455
|
+
385
|
1456
|
+
386
|
1457
|
+
387
|
1458
|
+
388
|
1459
|
+
389
|
1460
|
+
390
|
1461
|
+
391
|
1462
|
+
392
|
1463
|
+
393
|
1464
|
+
394
|
1465
|
+
395
|
1466
|
+
396
|
1467
|
+
397
|
1468
|
+
398
|
1469
|
+
399
|
1470
|
+
400
|
1471
|
+
401
|
1472
|
+
402
|
1473
|
+
403
|
1474
|
+
404
|
1475
|
+
405
|
1476
|
+
406
|
1477
|
+
407
|
1478
|
+
408
|
1479
|
+
409
|
1480
|
+
410
|
1481
|
+
411
|
1482
|
+
412
|
1483
|
+
413
|
1484
|
+
414
|
1485
|
+
415
|
1486
|
+
416
|
1487
|
+
417
|
1488
|
+
418
|
1489
|
+
419
|
1490
|
+
420
|
1491
|
+
421
|
1492
|
+
422
|
1493
|
+
423
|
1494
|
+
424
|
1495
|
+
425
|
1496
|
+
426
|
1497
|
+
427
|
1498
|
+
428
|
1499
|
+
429
|
1500
|
+
430
|
1501
|
+
431
|
1502
|
+
432
|
1503
|
+
433
|
1504
|
+
434
|
1505
|
+
435
|
1506
|
+
436
|
1507
|
+
437
|
1508
|
+
438
|
1509
|
+
439
|
1510
|
+
440
|
1511
|
+
441
|
1512
|
+
442
|
1513
|
+
443
|
1514
|
+
444
|
1515
|
+
445
|
1516
|
+
446
|
1517
|
+
447
|
1518
|
+
448
|
1519
|
+
449
|
1520
|
+
450
|
1521
|
+
451
|
1522
|
+
452
|
1523
|
+
453
|
1524
|
+
454
|
1525
|
+
455
|
1526
|
+
456
|
1527
|
+
457
|
1528
|
+
458
|
1529
|
+
459
|
1530
|
+
460
|
1531
|
+
461
|
1532
|
+
462
|
1533
|
+
463
|
1534
|
+
464
|
1535
|
+
465
|
1536
|
+
466
|
1537
|
+
467
|
1538
|
+
468
|
1539
|
+
469
|
1540
|
+
470
|
1541
|
+
471
|
1542
|
+
472
|
1543
|
+
473
|
1544
|
+
474
|
1545
|
+
475
|
1546
|
+
476
|
1547
|
+
477
|
1548
|
+
478</pre>
|
1840
1549
|
</td>
|
1841
1550
|
<td>
|
1842
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line
|
1843
|
-
|
1844
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_dns_update'>dns_update</span>
|
1845
|
-
<span class='ivar'>@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'>Flushing DNS cache and resolvers ...</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1846
|
-
<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'>dscacheutil -flushcache</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
1847
|
-
<span class='kw'>end</span></pre>
|
1848
|
-
</td>
|
1849
|
-
</tr>
|
1850
|
-
</table>
|
1851
|
-
</div>
|
1852
|
-
|
1853
|
-
<div class="method_details ">
|
1854
|
-
<h3 class="signature " id="execute_command-instance_method">
|
1855
|
-
|
1856
|
-
- (<tt>Boolean</tt>) <strong>execute_command</strong>(command)
|
1857
|
-
|
1858
|
-
|
1859
|
-
|
1860
|
-
|
1861
|
-
|
1862
|
-
</h3><div class="docstring">
|
1863
|
-
<div class="discussion">
|
1864
|
-
<p>Executes a shell command.</p>
|
1551
|
+
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 375</span>
|
1865
1552
|
|
1553
|
+
<span class='kw'>class</span> <span class='const'>Application</span> <span class='op'><</span> <span class='const'>RExec</span><span class='op'>::</span><span class='const'>Daemon</span><span class='op'>::</span><span class='const'>Base</span>
|
1554
|
+
<span class='comment'># Class for ANY DNS request.
|
1555
|
+
</span> <span class='const'>ANY_REQUEST</span> <span class='op'>=</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>ANY</span>
|
1866
1556
|
|
1867
|
-
|
1868
|
-
</
|
1869
|
-
<div class="tags">
|
1870
|
-
<p class="tag_title">Parameters:</p>
|
1871
|
-
<ul class="param">
|
1872
|
-
|
1873
|
-
<li>
|
1874
|
-
|
1875
|
-
<span class='name'>command</span>
|
1876
|
-
|
1877
|
-
|
1878
|
-
<span class='type'>(<tt>String</tt>)</span>
|
1879
|
-
|
1880
|
-
|
1881
|
-
|
1882
|
-
—
|
1883
|
-
<div class='inline'><p>The command to execute.</p>
|
1884
|
-
</div>
|
1885
|
-
|
1886
|
-
</li>
|
1887
|
-
|
1888
|
-
</ul>
|
1557
|
+
<span class='comment'># List of classes handled in case of DNS request with resource class ANY.
|
1558
|
+
</span> <span class='const'>ANY_CLASSES</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>A</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>AAAA</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>ANY</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>CNAME</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>HINFO</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>MINFO</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>MX</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>NS</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>PTR</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>SOA</span><span class='comma'>,</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Resource</span><span class='op'>::</span><span class='const'>IN</span><span class='op'>::</span><span class='const'>TXT</span><span class='rbracket'>]</span>
|
1889
1559
|
|
1890
|
-
<
|
1891
|
-
<
|
1892
|
-
|
1893
|
-
<li>
|
1894
|
-
|
1895
|
-
|
1896
|
-
<span class='type'>(<tt>Boolean</tt>)</span>
|
1897
|
-
|
1898
|
-
|
1899
|
-
|
1900
|
-
—
|
1901
|
-
<div class='inline'><p><code>true</code> if command succeeded, <code>false</code> otherwise.</p>
|
1902
|
-
</div>
|
1903
|
-
|
1904
|
-
</li>
|
1905
|
-
|
1906
|
-
</ul>
|
1560
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>Lazier</span><span class='op'>::</span><span class='const'>I18n</span>
|
1561
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>System</span>
|
1562
|
+
<span class='id identifier rubyid_include'>include</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>ApplicationMethods</span><span class='op'>::</span><span class='const'>Server</span>
|
1907
1563
|
|
1908
|
-
</
|
1909
|
-
<
|
1910
|
-
|
1911
|
-
|
1564
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:config</span>
|
1565
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:command</span>
|
1566
|
+
<span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:logger</span>
|
1567
|
+
<span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:locale</span>
|
1912
1568
|
|
1569
|
+
<span class='comment'># Creates a new application.
|
1570
|
+
</span> <span class='comment'>#
|
1571
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
1572
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
1573
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span>
|
1574
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n_setup'>i18n_setup</span><span class='lparen'>(</span><span class='symbol'>:devdnsd</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1575
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
1913
1576
|
|
1914
|
-
|
1915
|
-
|
1916
|
-
|
1917
|
-
</td>
|
1918
|
-
<td>
|
1919
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 117</span>
|
1577
|
+
<span class='ivar'>@locale</span> <span class='op'>=</span> <span class='id identifier rubyid_locale'>locale</span>
|
1578
|
+
<span class='ivar'>@command</span> <span class='op'>=</span> <span class='id identifier rubyid_command'>command</span>
|
1579
|
+
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='ivar'>@command</span><span class='period'>.</span><span class='id identifier rubyid_application'>application</span><span class='period'>.</span><span class='id identifier rubyid_get_options'>get_options</span><span class='period'>.</span><span class='id identifier rubyid_reject'>reject</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_k'>k</span><span class='comma'>,</span><span class='id identifier rubyid_v'>v</span><span class='op'>|</span> <span class='id identifier rubyid_v'>v</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='rbrace'>}</span>
|
1920
1580
|
|
1921
|
-
<span class='
|
1922
|
-
|
1923
|
-
<span class='
|
1924
|
-
</td>
|
1925
|
-
</tr>
|
1926
|
-
</table>
|
1927
|
-
</div>
|
1928
|
-
|
1929
|
-
<div class="method_details ">
|
1930
|
-
<h3 class="signature " id="get_logger-instance_method">
|
1931
|
-
|
1932
|
-
- (<tt>Logger</tt>) <strong>get_logger</strong>
|
1933
|
-
|
1581
|
+
<span class='comment'># Setup logger
|
1582
|
+
</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>
|
1583
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>log_file</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_default_file'>default_file</span><span class='comma'>,</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='rparen'>)</span>
|
1934
1584
|
|
1935
|
-
|
1585
|
+
<span class='comment'># Open configuration
|
1586
|
+
</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
1936
1587
|
|
1937
|
-
|
1938
|
-
|
1939
|
-
<div class="discussion">
|
1940
|
-
<p>Gets the current logger of the application.</p>
|
1588
|
+
<span class='kw'>self</span>
|
1589
|
+
<span class='kw'>end</span>
|
1941
1590
|
|
1591
|
+
<span class='comment'># Gets the current logger of the application.
|
1592
|
+
</span> <span class='comment'>#
|
1593
|
+
</span> <span class='comment'># @return [Logger] The current logger of the application.
|
1594
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_get_logger'>get_logger</span>
|
1595
|
+
<span class='ivar'>@logger</span> <span class='op'>||=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_foreground'>foreground</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='op'>:</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_file'>log_file</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_level'>log_level</span><span class='comma'>,</span> <span class='ivar'>@log_formatter</span><span class='rparen'>)</span>
|
1596
|
+
<span class='kw'>end</span>
|
1942
1597
|
|
1943
|
-
|
1944
|
-
</
|
1945
|
-
<
|
1946
|
-
|
1947
|
-
<
|
1948
|
-
<ul class="return">
|
1949
|
-
|
1950
|
-
<li>
|
1951
|
-
|
1952
|
-
|
1953
|
-
<span class='type'>(<tt>Logger</tt>)</span>
|
1954
|
-
|
1955
|
-
|
1956
|
-
|
1957
|
-
—
|
1958
|
-
<div class='inline'><p>The current logger of the application.</p>
|
1959
|
-
</div>
|
1960
|
-
|
1961
|
-
</li>
|
1962
|
-
|
1963
|
-
</ul>
|
1598
|
+
<span class='comment'># This method is called when the server starts. By default is a no-op.
|
1599
|
+
</span> <span class='comment'>#
|
1600
|
+
</span> <span class='comment'># @return [NilClass] `nil`.
|
1601
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_on_start'>on_start</span>
|
1602
|
+
<span class='kw'>end</span>
|
1964
1603
|
|
1965
|
-
|
1966
|
-
<
|
1967
|
-
|
1968
|
-
|
1604
|
+
<span class='comment'># This method is called when the server stop.
|
1605
|
+
</span> <span class='comment'>#
|
1606
|
+
</span> <span class='comment'># @return [NilClass] `nil`.
|
1607
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_on_stop'>on_stop</span>
|
1608
|
+
<span class='kw'>end</span>
|
1969
1609
|
|
1610
|
+
<span class='comment'># Returns a unique (singleton) instance of the application.
|
1611
|
+
</span> <span class='comment'>#
|
1612
|
+
</span> <span class='comment'># @param command [Mamertes::Command] The current Mamertes command.
|
1613
|
+
</span> <span class='comment'># @param locale [Symbol] The locale to use for the application.
|
1614
|
+
</span> <span class='comment'># @param force [Boolean] If to force recreation of the instance.
|
1615
|
+
</span> <span class='comment'># @return [Application] The unique (singleton) instance of the application.
|
1616
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1617
|
+
<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>
|
1618
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_command'>command</span>
|
1619
|
+
<span class='ivar'>@instance</span>
|
1620
|
+
<span class='kw'>end</span>
|
1970
1621
|
|
1971
|
-
|
1972
|
-
|
1973
|
-
|
1974
|
-
|
1975
|
-
<
|
1976
|
-
|
1622
|
+
<span class='comment'># Runs the application in foreground.
|
1623
|
+
</span> <span class='comment'>#
|
1624
|
+
</span> <span class='comment'># @see #perform_server
|
1625
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span>
|
1626
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_perform_server'>perform_server</span>
|
1627
|
+
<span class='kw'>end</span>
|
1977
1628
|
|
1978
|
-
<span class='
|
1979
|
-
|
1629
|
+
<span class='comment'># Stops the application.
|
1630
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_quit'>quit</span>
|
1631
|
+
<span class='op'>::</span><span class='const'>EventMachine</span><span class='period'>.</span><span class='id identifier rubyid_stop'>stop</span> <span class='kw'>rescue</span> <span class='kw'>nil</span>
|
1632
|
+
<span class='kw'>end</span>
|
1633
|
+
|
1634
|
+
<span class='comment'># Check if the current implementation supports DevDNSd.
|
1635
|
+
</span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_check_ruby_implementation'>check_ruby_implementation</span>
|
1636
|
+
<span class='kw'>if</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>Rubinius</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>JRuby</span><span class='rparen'>)</span> <span class='kw'>then</span>
|
1637
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span><span class='lparen'>(</span><span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Localizer</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:devdnsd</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span><span class='period'>.</span><span class='id identifier rubyid_no_jruby_rubinius'>no_jruby_rubinius</span><span class='rparen'>)</span>
|
1638
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
1639
|
+
<span class='kw'>end</span>
|
1640
|
+
<span class='kw'>end</span>
|
1641
|
+
|
1642
|
+
<span class='id identifier rubyid_private'>private</span>
|
1643
|
+
<span class='comment'># Reads configuration.
|
1644
|
+
</span> <span class='comment'>#
|
1645
|
+
</span> <span class='comment'># @param options [Hash] The configuration to read.
|
1646
|
+
</span> <span class='kw'>def</span> <span class='id identifier rubyid_read_configuration'>read_configuration</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
|
1647
|
+
<span class='kw'>begin</span>
|
1648
|
+
<span class='ivar'>@config</span> <span class='op'>=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Configuration</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>configuration</span><span class='tstring_end'>"</span></span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span><span class='comma'>,</span> <span class='ivar'>@logger</span><span class='rparen'>)</span>
|
1649
|
+
<span class='ivar'>@logger</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
1650
|
+
<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>
|
1651
|
+
<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>
|
1652
|
+
<span class='ivar'>@logger</span> <span class='op'>?</span> <span class='ivar'>@logger</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='id identifier rubyid_e'>e</span><span class='period'>.</span><span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_fatal'>fatal</span><span class='lparen'>(</span><span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span><span class='period'>.</span><span class='id identifier rubyid_logging_failed'>logging_failed</span><span class='lparen'>(</span><span class='id identifier rubyid_log_file'>log_file</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
1653
|
+
<span class='id identifier rubyid_raise'>raise</span> <span class='op'>::</span><span class='const'>SystemExit</span>
|
1654
|
+
<span class='kw'>end</span>
|
1655
|
+
<span class='kw'>end</span>
|
1980
1656
|
<span class='kw'>end</span></pre>
|
1981
1657
|
</td>
|
1982
1658
|
</tr>
|
1983
1659
|
</table>
|
1984
1660
|
</div>
|
1985
1661
|
|
1986
|
-
|
1987
|
-
|
1662
|
+
</div>
|
1663
|
+
|
1664
|
+
|
1665
|
+
<div id="class_method_details" class="method_details_list">
|
1666
|
+
<h2>Class Method Details</h2>
|
1667
|
+
|
1668
|
+
|
1669
|
+
<div class="method_details first">
|
1670
|
+
<h3 class="signature first" id="check_ruby_implementation-class_method">
|
1988
1671
|
|
1989
|
-
|
1672
|
+
+ (<tt>Object</tt>) <strong>check_ruby_implementation</strong>
|
1990
1673
|
|
1991
1674
|
|
1992
1675
|
|
@@ -1994,31 +1677,13 @@
|
|
1994
1677
|
|
1995
1678
|
</h3><div class="docstring">
|
1996
1679
|
<div class="discussion">
|
1997
|
-
<p>Check if
|
1998
|
-
System services are only available on that platform.</p>
|
1680
|
+
<p>Check if the current implementation supports DevDNSd.</p>
|
1999
1681
|
|
2000
1682
|
|
2001
1683
|
</div>
|
2002
1684
|
</div>
|
2003
1685
|
<div class="tags">
|
2004
1686
|
|
2005
|
-
<p class="tag_title">Returns:</p>
|
2006
|
-
<ul class="return">
|
2007
|
-
|
2008
|
-
<li>
|
2009
|
-
|
2010
|
-
|
2011
|
-
<span class='type'>(<tt>Boolean</tt>)</span>
|
2012
|
-
|
2013
|
-
|
2014
|
-
|
2015
|
-
—
|
2016
|
-
<div class='inline'><p><code>true</code> if the current platform is MacOS X, <code>false</code> otherwise.</p>
|
2017
|
-
</div>
|
2018
|
-
|
2019
|
-
</li>
|
2020
|
-
|
2021
|
-
</ul>
|
2022
1687
|
|
2023
1688
|
</div><table class="source_code">
|
2024
1689
|
<tr>
|
@@ -2026,15 +1691,21 @@ System services are only available on that platform.</p>
|
|
2026
1691
|
<pre class="lines">
|
2027
1692
|
|
2028
1693
|
|
2029
|
-
|
2030
|
-
|
2031
|
-
|
1694
|
+
457
|
1695
|
+
458
|
1696
|
+
459
|
1697
|
+
460
|
1698
|
+
461
|
1699
|
+
462</pre>
|
2032
1700
|
</td>
|
2033
1701
|
<td>
|
2034
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line
|
1702
|
+
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 457</span>
|
2035
1703
|
|
2036
|
-
<span class='kw'>def</span> <span class='id identifier
|
2037
|
-
<span class='
|
1704
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_check_ruby_implementation'>check_ruby_implementation</span>
|
1705
|
+
<span class='kw'>if</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>Rubinius</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='kw'>defined?</span><span class='lparen'>(</span><span class='const'>JRuby</span><span class='rparen'>)</span> <span class='kw'>then</span>
|
1706
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_puts'>puts</span><span class='lparen'>(</span><span class='const'>Lazier</span><span class='op'>::</span><span class='const'>Localizer</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='symbol'>:devdnsd</span><span class='comma'>,</span> <span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_absolute_path'>absolute_path</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Pathname</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>File</span><span class='period'>.</span><span class='id identifier rubyid_dirname'>dirname</span><span class='lparen'>(</span><span class='kw'>__FILE__</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span> <span class='op'>+</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/../../locales/</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span><span class='period'>.</span><span class='id identifier rubyid_no_jruby_rubinius'>no_jruby_rubinius</span><span class='rparen'>)</span>
|
1707
|
+
<span class='const'>Kernel</span><span class='period'>.</span><span class='id identifier rubyid_exit'>exit</span><span class='lparen'>(</span><span class='int'>0</span><span class='rparen'>)</span>
|
1708
|
+
<span class='kw'>end</span>
|
2038
1709
|
<span class='kw'>end</span></pre>
|
2039
1710
|
</td>
|
2040
1711
|
</tr>
|
@@ -2042,9 +1713,9 @@ System services are only available on that platform.</p>
|
|
2042
1713
|
</div>
|
2043
1714
|
|
2044
1715
|
<div class="method_details ">
|
2045
|
-
<h3 class="signature " id="
|
1716
|
+
<h3 class="signature " id="instance-class_method">
|
2046
1717
|
|
2047
|
-
|
1718
|
+
+ (<tt><span class='object_link'><a href="" title="DevDNSd::Application (class)">Application</a></span></tt>) <strong>instance</strong>(command = nil, locale = nil, force = false)
|
2048
1719
|
|
2049
1720
|
|
2050
1721
|
|
@@ -2052,7 +1723,7 @@ System services are only available on that platform.</p>
|
|
2052
1723
|
|
2053
1724
|
</h3><div class="docstring">
|
2054
1725
|
<div class="discussion">
|
2055
|
-
<p>
|
1726
|
+
<p>Returns a unique (singleton) instance of the application.</p>
|
2056
1727
|
|
2057
1728
|
|
2058
1729
|
</div>
|
@@ -2063,17 +1734,51 @@ System services are only available on that platform.</p>
|
|
2063
1734
|
|
2064
1735
|
<li>
|
2065
1736
|
|
2066
|
-
<span class='name'>
|
1737
|
+
<span class='name'>command</span>
|
1738
|
+
|
1739
|
+
|
1740
|
+
<span class='type'>(<tt>Mamertes::Command</tt>)</span>
|
1741
|
+
|
1742
|
+
|
1743
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1744
|
+
|
1745
|
+
|
1746
|
+
—
|
1747
|
+
<div class='inline'><p>The current Mamertes command.</p>
|
1748
|
+
</div>
|
1749
|
+
|
1750
|
+
</li>
|
1751
|
+
|
1752
|
+
<li>
|
1753
|
+
|
1754
|
+
<span class='name'>locale</span>
|
1755
|
+
|
1756
|
+
|
1757
|
+
<span class='type'>(<tt>Symbol</tt>)</span>
|
1758
|
+
|
1759
|
+
|
1760
|
+
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
1761
|
+
|
1762
|
+
|
1763
|
+
—
|
1764
|
+
<div class='inline'><p>The locale to use for the application.</p>
|
1765
|
+
</div>
|
1766
|
+
|
1767
|
+
</li>
|
1768
|
+
|
1769
|
+
<li>
|
1770
|
+
|
1771
|
+
<span class='name'>force</span>
|
2067
1772
|
|
2068
1773
|
|
2069
|
-
<span class='type'>(<tt>
|
1774
|
+
<span class='type'>(<tt>Boolean</tt>)</span>
|
2070
1775
|
|
2071
1776
|
|
2072
|
-
<em class="default">(defaults to: <tt
|
1777
|
+
<em class="default">(defaults to: <tt>false</tt>)</em>
|
2073
1778
|
|
2074
1779
|
|
2075
1780
|
—
|
2076
|
-
<div class='inline'><p>
|
1781
|
+
<div class='inline'><p>If to force recreation of the instance.</p>
|
2077
1782
|
</div>
|
2078
1783
|
|
2079
1784
|
</li>
|
@@ -2086,12 +1791,12 @@ System services are only available on that platform.</p>
|
|
2086
1791
|
<li>
|
2087
1792
|
|
2088
1793
|
|
2089
|
-
<span class='type'>(<tt>
|
1794
|
+
<span class='type'>(<tt><span class='object_link'><a href="" title="DevDNSd::Application (class)">Application</a></span></tt>)</span>
|
2090
1795
|
|
2091
1796
|
|
2092
1797
|
|
2093
1798
|
—
|
2094
|
-
<div class='inline'><p>The
|
1799
|
+
<div class='inline'><p>The unique (singleton) instance of the application.</p>
|
2095
1800
|
</div>
|
2096
1801
|
|
2097
1802
|
</li>
|
@@ -2104,15 +1809,19 @@ System services are only available on that platform.</p>
|
|
2104
1809
|
<pre class="lines">
|
2105
1810
|
|
2106
1811
|
|
2107
|
-
|
2108
|
-
|
2109
|
-
|
1812
|
+
438
|
1813
|
+
439
|
1814
|
+
440
|
1815
|
+
441
|
1816
|
+
442</pre>
|
2110
1817
|
</td>
|
2111
1818
|
<td>
|
2112
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line
|
1819
|
+
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 438</span>
|
2113
1820
|
|
2114
|
-
<span class='kw'>def</span> <span class='id identifier
|
2115
|
-
<span class='
|
1821
|
+
<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='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_force'>force</span> <span class='op'>=</span> <span class='kw'>false</span><span class='rparen'>)</span>
|
1822
|
+
<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>
|
1823
|
+
<span class='ivar'>@instance</span> <span class='op'>||=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_command'>command</span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_command'>command</span>
|
1824
|
+
<span class='ivar'>@instance</span>
|
2116
1825
|
<span class='kw'>end</span></pre>
|
2117
1826
|
</td>
|
2118
1827
|
</tr>
|
@@ -2120,9 +1829,9 @@ System services are only available on that platform.</p>
|
|
2120
1829
|
</div>
|
2121
1830
|
|
2122
1831
|
<div class="method_details ">
|
2123
|
-
<h3 class="signature " id="
|
1832
|
+
<h3 class="signature " id="quit-class_method">
|
2124
1833
|
|
2125
|
-
|
1834
|
+
+ (<tt>Object</tt>) <strong>quit</strong>
|
2126
1835
|
|
2127
1836
|
|
2128
1837
|
|
@@ -2130,30 +1839,13 @@ System services are only available on that platform.</p>
|
|
2130
1839
|
|
2131
1840
|
</h3><div class="docstring">
|
2132
1841
|
<div class="discussion">
|
2133
|
-
<p>
|
1842
|
+
<p>Stops the application.</p>
|
2134
1843
|
|
2135
1844
|
|
2136
1845
|
</div>
|
2137
1846
|
</div>
|
2138
1847
|
<div class="tags">
|
2139
1848
|
|
2140
|
-
<p class="tag_title">Returns:</p>
|
2141
|
-
<ul class="return">
|
2142
|
-
|
2143
|
-
<li>
|
2144
|
-
|
2145
|
-
|
2146
|
-
<span class='type'>(<tt>NilClass</tt>)</span>
|
2147
|
-
|
2148
|
-
|
2149
|
-
|
2150
|
-
—
|
2151
|
-
<div class='inline'><p><code>nil</code>.</p>
|
2152
|
-
</div>
|
2153
|
-
|
2154
|
-
</li>
|
2155
|
-
|
2156
|
-
</ul>
|
2157
1849
|
|
2158
1850
|
</div><table class="source_code">
|
2159
1851
|
<tr>
|
@@ -2161,13 +1853,15 @@ System services are only available on that platform.</p>
|
|
2161
1853
|
<pre class="lines">
|
2162
1854
|
|
2163
1855
|
|
2164
|
-
|
2165
|
-
|
1856
|
+
452
|
1857
|
+
453
|
1858
|
+
454</pre>
|
2166
1859
|
</td>
|
2167
1860
|
<td>
|
2168
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line
|
1861
|
+
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 452</span>
|
2169
1862
|
|
2170
|
-
<span class='kw'>def</span> <span class='id identifier
|
1863
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_quit'>quit</span>
|
1864
|
+
<span class='op'>::</span><span class='const'>EventMachine</span><span class='period'>.</span><span class='id identifier rubyid_stop'>stop</span> <span class='kw'>rescue</span> <span class='kw'>nil</span>
|
2171
1865
|
<span class='kw'>end</span></pre>
|
2172
1866
|
</td>
|
2173
1867
|
</tr>
|
@@ -2175,9 +1869,9 @@ System services are only available on that platform.</p>
|
|
2175
1869
|
</div>
|
2176
1870
|
|
2177
1871
|
<div class="method_details ">
|
2178
|
-
<h3 class="signature " id="
|
1872
|
+
<h3 class="signature " id="run-class_method">
|
2179
1873
|
|
2180
|
-
|
1874
|
+
+ (<tt>Object</tt>) <strong>run</strong>
|
2181
1875
|
|
2182
1876
|
|
2183
1877
|
|
@@ -2185,30 +1879,20 @@ System services are only available on that platform.</p>
|
|
2185
1879
|
|
2186
1880
|
</h3><div class="docstring">
|
2187
1881
|
<div class="discussion">
|
2188
|
-
<p>
|
1882
|
+
<p>Runs the application in foreground.</p>
|
2189
1883
|
|
2190
1884
|
|
2191
1885
|
</div>
|
2192
1886
|
</div>
|
2193
1887
|
<div class="tags">
|
2194
1888
|
|
2195
|
-
|
2196
|
-
<
|
2197
|
-
|
2198
|
-
|
2199
|
-
|
2200
|
-
|
2201
|
-
|
2202
|
-
|
2203
|
-
|
2204
|
-
|
2205
|
-
—
|
2206
|
-
<div class='inline'><p><code>nil</code>.</p>
|
2207
|
-
</div>
|
2208
|
-
|
2209
|
-
</li>
|
2210
|
-
|
2211
|
-
</ul>
|
1889
|
+
|
1890
|
+
<p class="tag_title">See Also:</p>
|
1891
|
+
<ul class="see">
|
1892
|
+
|
1893
|
+
<li><span class='object_link'><a href="ApplicationMethods/Server.html#perform_server-instance_method" title="DevDNSd::ApplicationMethods::Server#perform_server (method)">DevDNSd::ApplicationMethods::Server#perform_server</a></span></li>
|
1894
|
+
|
1895
|
+
</ul>
|
2212
1896
|
|
2213
1897
|
</div><table class="source_code">
|
2214
1898
|
<tr>
|
@@ -2216,23 +1900,31 @@ System services are only available on that platform.</p>
|
|
2216
1900
|
<pre class="lines">
|
2217
1901
|
|
2218
1902
|
|
2219
|
-
|
2220
|
-
|
1903
|
+
447
|
1904
|
+
448
|
1905
|
+
449</pre>
|
2221
1906
|
</td>
|
2222
1907
|
<td>
|
2223
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line
|
1908
|
+
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 447</span>
|
2224
1909
|
|
2225
|
-
<span class='kw'>def</span> <span class='id identifier
|
1910
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_run'>run</span>
|
1911
|
+
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_perform_server'>perform_server</span>
|
2226
1912
|
<span class='kw'>end</span></pre>
|
2227
1913
|
</td>
|
2228
1914
|
</tr>
|
2229
1915
|
</table>
|
2230
1916
|
</div>
|
2231
1917
|
|
2232
|
-
|
2233
|
-
|
1918
|
+
</div>
|
1919
|
+
|
1920
|
+
<div id="instance_method_details" class="method_details_list">
|
1921
|
+
<h2>Instance Method Details</h2>
|
1922
|
+
|
1923
|
+
|
1924
|
+
<div class="method_details first">
|
1925
|
+
<h3 class="signature first" id="get_logger-instance_method">
|
2234
1926
|
|
2235
|
-
- (<tt>
|
1927
|
+
- (<tt>Logger</tt>) <strong>get_logger</strong>
|
2236
1928
|
|
2237
1929
|
|
2238
1930
|
|
@@ -2240,7 +1932,7 @@ System services are only available on that platform.</p>
|
|
2240
1932
|
|
2241
1933
|
</h3><div class="docstring">
|
2242
1934
|
<div class="discussion">
|
2243
|
-
<p>
|
1935
|
+
<p>Gets the current logger of the application.</p>
|
2244
1936
|
|
2245
1937
|
|
2246
1938
|
</div>
|
@@ -2253,12 +1945,12 @@ System services are only available on that platform.</p>
|
|
2253
1945
|
<li>
|
2254
1946
|
|
2255
1947
|
|
2256
|
-
<span class='type'>(<tt>
|
1948
|
+
<span class='type'>(<tt>Logger</tt>)</span>
|
2257
1949
|
|
2258
1950
|
|
2259
1951
|
|
2260
1952
|
—
|
2261
|
-
<div class='inline'><p>The
|
1953
|
+
<div class='inline'><p>The current logger of the application.</p>
|
2262
1954
|
</div>
|
2263
1955
|
|
2264
1956
|
</li>
|
@@ -2271,89 +1963,15 @@ System services are only available on that platform.</p>
|
|
2271
1963
|
<pre class="lines">
|
2272
1964
|
|
2273
1965
|
|
2274
|
-
|
2275
|
-
|
2276
|
-
|
2277
|
-
135
|
2278
|
-
136
|
2279
|
-
137
|
2280
|
-
138
|
2281
|
-
139
|
2282
|
-
140
|
2283
|
-
141
|
2284
|
-
142
|
2285
|
-
143
|
2286
|
-
144
|
2287
|
-
145
|
2288
|
-
146
|
2289
|
-
147
|
2290
|
-
148
|
2291
|
-
149
|
2292
|
-
150
|
2293
|
-
151
|
2294
|
-
152
|
2295
|
-
153
|
2296
|
-
154
|
2297
|
-
155
|
2298
|
-
156
|
2299
|
-
157
|
2300
|
-
158
|
2301
|
-
159
|
2302
|
-
160
|
2303
|
-
161
|
2304
|
-
162
|
2305
|
-
163
|
2306
|
-
164
|
2307
|
-
165
|
2308
|
-
166
|
2309
|
-
167
|
2310
|
-
168
|
2311
|
-
169
|
2312
|
-
170
|
2313
|
-
171</pre>
|
1966
|
+
416
|
1967
|
+
417
|
1968
|
+
418</pre>
|
2314
1969
|
</td>
|
2315
1970
|
<td>
|
2316
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line
|
2317
|
-
|
2318
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_perform_server'>perform_server</span>
|
2319
|
-
<span class='const'>RubyDNS</span><span class='op'>::</span><span class='id identifier rubyid_run_server'>run_server</span><span class='lparen'>(</span><span class='symbol'>:listen</span> <span class='op'>=></span> <span class='lbracket'>[</span><span class='lbracket'>[</span><span class='symbol'>:udp</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_address'>address</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_port'>port</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='rbracket'>]</span><span class='rbracket'>]</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
2320
|
-
<span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span> <span class='op'>=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span>
|
2321
|
-
|
2322
|
-
<span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>.+</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='op'>::</span><span class='const'>ANY_CLASSES</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_match_data'>match_data</span><span class='comma'>,</span> <span class='id identifier rubyid_transaction'>transaction</span><span class='op'>|</span>
|
2323
|
-
<span class='id identifier rubyid_transaction'>transaction</span><span class='period'>.</span><span class='id identifier rubyid_append_question!'>append_question!</span>
|
2324
|
-
|
2325
|
-
<span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='period'>.</span><span class='id identifier rubyid_rules'>rules</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_rule'>rule</span><span class='op'>|</span>
|
2326
|
-
<span class='kw'>begin</span>
|
2327
|
-
<span class='comment'># Get the subset of handled class that is valid for the rule
|
2328
|
-
</span> <span class='id identifier rubyid_resource_classes'>resource_classes</span> <span class='op'>=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='op'>::</span><span class='const'>ANY_CLASSES</span> <span class='op'>&</span> <span class='id identifier rubyid_rule'>rule</span><span class='period'>.</span><span class='id identifier rubyid_resource_class'>resource_class</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span>
|
2329
|
-
<span class='id identifier rubyid_resource_classes'>resource_classes</span> <span class='op'>=</span> <span class='id identifier rubyid_resource_classes'>resource_classes</span> <span class='op'>&</span> <span class='lbracket'>[</span><span class='id identifier rubyid_transaction'>transaction</span><span class='period'>.</span><span class='id identifier rubyid_resource_class'>resource_class</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='id identifier rubyid_transaction'>transaction</span><span class='period'>.</span><span class='id identifier rubyid_resource_class'>resource_class</span> <span class='op'>!=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='op'>::</span><span class='const'>ANY_REQUEST</span>
|
2330
|
-
|
2331
|
-
<span class='kw'>if</span> <span class='id identifier rubyid_resource_classes'>resource_classes</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
|
2332
|
-
<span class='id identifier rubyid_resource_classes'>resource_classes</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_resource_class'>resource_class</span><span class='op'>|</span> <span class='comment'># Now for every class
|
2333
|
-
</span> <span class='id identifier rubyid_matches'>matches</span> <span class='op'>=</span> <span class='id identifier rubyid_rule'>rule</span><span class='period'>.</span><span class='id identifier rubyid_match_host'>match_host</span><span class='lparen'>(</span><span class='id identifier rubyid_match_data'>match_data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
2334
|
-
<span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_process_rule'>process_rule</span><span class='lparen'>(</span><span class='id identifier rubyid_rule'>rule</span><span class='comma'>,</span> <span class='id identifier rubyid_resource_class'>resource_class</span><span class='comma'>,</span> <span class='id identifier rubyid_rule'>rule</span><span class='period'>.</span><span class='id identifier rubyid_is_regexp?'>is_regexp?</span> <span class='op'>?</span> <span class='id identifier rubyid_matches'>matches</span> <span class='op'>:</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_transaction'>transaction</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_matches'>matches</span>
|
2335
|
-
<span class='kw'>end</span>
|
2336
|
-
<span class='kw'>end</span>
|
2337
|
-
<span class='kw'>rescue</span> <span class='op'>::</span><span class='const'>Exception</span> <span class='op'>=></span> <span class='id identifier rubyid_e'>e</span>
|
2338
|
-
<span class='id identifier rubyid_raise'>raise</span> <span class='id identifier rubyid_e'>e</span>
|
2339
|
-
<span class='kw'>end</span>
|
2340
|
-
<span class='kw'>end</span>
|
2341
|
-
<span class='kw'>end</span>
|
2342
|
-
|
2343
|
-
<span class='comment'># Default DNS handler
|
2344
|
-
</span> <span class='id identifier rubyid_otherwise'>otherwise</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_transaction'>transaction</span><span class='op'>|</span>
|
2345
|
-
<span class='id identifier rubyid_transaction'>transaction</span><span class='period'>.</span><span class='id identifier rubyid_failure!'>failure!</span><span class='lparen'>(</span><span class='symbol'>:NXDomain</span><span class='rparen'>)</span>
|
2346
|
-
<span class='kw'>end</span>
|
2347
|
-
|
2348
|
-
<span class='comment'># Attach event handlers
|
2349
|
-
</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_on'>on</span><span class='lparen'>(</span><span class='symbol'>:start</span><span class='rparen'>)</span> <span class='kw'>do</span>
|
2350
|
-
<span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_on_start'>on_start</span>
|
2351
|
-
<span class='kw'>end</span>
|
1971
|
+
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 416</span>
|
2352
1972
|
|
2353
|
-
|
2354
|
-
|
2355
|
-
<span class='kw'>end</span>
|
2356
|
-
<span class='kw'>end</span>
|
1973
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_get_logger'>get_logger</span>
|
1974
|
+
<span class='ivar'>@logger</span> <span class='op'>||=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Logger</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_foreground'>foreground</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='op'>:</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_file'>log_file</span><span class='comma'>,</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_log_level'>log_level</span><span class='comma'>,</span> <span class='ivar'>@log_formatter</span><span class='rparen'>)</span>
|
2357
1975
|
<span class='kw'>end</span></pre>
|
2358
1976
|
</td>
|
2359
1977
|
</tr>
|
@@ -2361,9 +1979,9 @@ System services are only available on that platform.</p>
|
|
2361
1979
|
</div>
|
2362
1980
|
|
2363
1981
|
<div class="method_details ">
|
2364
|
-
<h3 class="signature " id="
|
1982
|
+
<h3 class="signature " id="on_start-instance_method">
|
2365
1983
|
|
2366
|
-
- (<tt>
|
1984
|
+
- (<tt>NilClass</tt>) <strong>on_start</strong>
|
2367
1985
|
|
2368
1986
|
|
2369
1987
|
|
@@ -2371,89 +1989,25 @@ System services are only available on that platform.</p>
|
|
2371
1989
|
|
2372
1990
|
</h3><div class="docstring">
|
2373
1991
|
<div class="discussion">
|
2374
|
-
<p>
|
1992
|
+
<p>This method is called when the server starts. By default is a no-op.</p>
|
2375
1993
|
|
2376
1994
|
|
2377
1995
|
</div>
|
2378
1996
|
</div>
|
2379
1997
|
<div class="tags">
|
2380
|
-
<p class="tag_title">Parameters:</p>
|
2381
|
-
<ul class="param">
|
2382
|
-
|
2383
|
-
<li>
|
2384
|
-
|
2385
|
-
<span class='name'>rule</span>
|
2386
|
-
|
2387
|
-
|
2388
|
-
<span class='type'>(<tt><span class='object_link'><a href="Rule.html" title="DevDNSd::Rule (class)">Rule</a></span></tt>)</span>
|
2389
|
-
|
2390
|
-
|
2391
|
-
|
2392
|
-
—
|
2393
|
-
<div class='inline'><p>The rule to process.</p>
|
2394
|
-
</div>
|
2395
|
-
|
2396
|
-
</li>
|
2397
|
-
|
2398
|
-
<li>
|
2399
|
-
|
2400
|
-
<span class='name'>type</span>
|
2401
|
-
|
2402
|
-
|
2403
|
-
<span class='type'>(<tt>Class</tt>)</span>
|
2404
|
-
|
2405
|
-
|
2406
|
-
|
2407
|
-
—
|
2408
|
-
<div class='inline'><p>The type of request.</p>
|
2409
|
-
</div>
|
2410
|
-
|
2411
|
-
</li>
|
2412
|
-
|
2413
|
-
<li>
|
2414
|
-
|
2415
|
-
<span class='name'>match_data</span>
|
2416
|
-
|
2417
|
-
|
2418
|
-
<span class='type'>(<tt>MatchData|nil</tt>)</span>
|
2419
|
-
|
2420
|
-
|
2421
|
-
|
2422
|
-
—
|
2423
|
-
<div class='inline'><p>If the rule pattern was a Regexp, then this holds the match data, otherwise <code>nil</code> is passed.</p>
|
2424
|
-
</div>
|
2425
|
-
|
2426
|
-
</li>
|
2427
|
-
|
2428
|
-
<li>
|
2429
|
-
|
2430
|
-
<span class='name'>transaction</span>
|
2431
|
-
|
2432
|
-
|
2433
|
-
<span class='type'>(<tt>Transaction</tt>)</span>
|
2434
|
-
|
2435
|
-
|
2436
|
-
|
2437
|
-
—
|
2438
|
-
<div class='inline'><p>The current DNS transaction (<a href="http://rubydoc.info/gems/rubydns/RubyDNS/Transaction">http://rubydoc.info/gems/rubydns/RubyDNS/Transaction</a>).</p>
|
2439
|
-
</div>
|
2440
|
-
|
2441
|
-
</li>
|
2442
1998
|
|
2443
|
-
</ul>
|
2444
|
-
|
2445
1999
|
<p class="tag_title">Returns:</p>
|
2446
2000
|
<ul class="return">
|
2447
2001
|
|
2448
2002
|
<li>
|
2449
2003
|
|
2450
2004
|
|
2451
|
-
<span class='type'
|
2005
|
+
<span class='type'>(<tt>NilClass</tt>)</span>
|
2452
2006
|
|
2453
2007
|
|
2454
2008
|
|
2455
|
-
|
2456
|
-
<div class='inline'><p
|
2009
|
+
—
|
2010
|
+
<div class='inline'><p><code>nil</code>.</p>
|
2457
2011
|
</div>
|
2458
2012
|
|
2459
2013
|
</li>
|
@@ -2466,97 +2020,13 @@ System services are only available on that platform.</p>
|
|
2466
2020
|
<pre class="lines">
|
2467
2021
|
|
2468
2022
|
|
2469
|
-
|
2470
|
-
|
2471
|
-
182
|
2472
|
-
183
|
2473
|
-
184
|
2474
|
-
185
|
2475
|
-
186
|
2476
|
-
187
|
2477
|
-
188
|
2478
|
-
189
|
2479
|
-
190
|
2480
|
-
191
|
2481
|
-
192
|
2482
|
-
193
|
2483
|
-
194
|
2484
|
-
195
|
2485
|
-
196
|
2486
|
-
197
|
2487
|
-
198
|
2488
|
-
199
|
2489
|
-
200
|
2490
|
-
201
|
2491
|
-
202
|
2492
|
-
203
|
2493
|
-
204
|
2494
|
-
205
|
2495
|
-
206
|
2496
|
-
207
|
2497
|
-
208
|
2498
|
-
209
|
2499
|
-
210
|
2500
|
-
211
|
2501
|
-
212
|
2502
|
-
213
|
2503
|
-
214
|
2504
|
-
215
|
2505
|
-
216
|
2506
|
-
217
|
2507
|
-
218
|
2508
|
-
219
|
2509
|
-
220
|
2510
|
-
221
|
2511
|
-
222
|
2512
|
-
223</pre>
|
2023
|
+
423
|
2024
|
+
424</pre>
|
2513
2025
|
</td>
|
2514
2026
|
<td>
|
2515
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line
|
2516
|
-
|
2517
|
-
<span class='kw'>def</span> <span class='id identifier rubyid_process_rule'>process_rule</span><span class='lparen'>(</span><span class='id identifier rubyid_rule'>rule</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_match_data'>match_data</span><span class='comma'>,</span> <span class='id identifier rubyid_transaction'>transaction</span><span class='rparen'>)</span>
|
2518
|
-
<span class='id identifier rubyid_is_regex'>is_regex</span> <span class='op'>=</span> <span class='id identifier rubyid_rule'>rule</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='op'>::</span><span class='const'>Regexp</span><span class='rparen'>)</span>
|
2519
|
-
<span class='id identifier rubyid_type'>type</span> <span class='op'>=</span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Rule</span><span class='period'>.</span><span class='id identifier rubyid_resource_class_to_symbol'>resource_class_to_symbol</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span>
|
2520
|
-
|
2521
|
-
<span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_debug'>debug</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Found match on </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_rule'>rule</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='rbrace'>}</span><span class='tstring_content'> with type </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='rbrace'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
2522
|
-
|
2523
|
-
<span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_rule'>rule</span><span class='period'>.</span><span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='kw'>then</span>
|
2524
|
-
<span class='id identifier rubyid_reply'>reply</span> <span class='op'>=</span> <span class='id identifier rubyid_rule'>rule</span><span class='period'>.</span><span class='id identifier rubyid_block'>block</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_match_data'>match_data</span><span class='comma'>,</span> <span class='id identifier rubyid_type'>type</span><span class='comma'>,</span> <span class='id identifier rubyid_transaction'>transaction</span><span class='rparen'>)</span>
|
2525
|
-
<span class='kw'>else</span>
|
2526
|
-
<span class='id identifier rubyid_reply'>reply</span> <span class='op'>=</span> <span class='id identifier rubyid_rule'>rule</span><span class='period'>.</span><span class='id identifier rubyid_reply'>reply</span>
|
2527
|
-
<span class='kw'>end</span>
|
2528
|
-
|
2529
|
-
<span class='kw'>if</span> <span class='id identifier rubyid_is_regex'>is_regex</span> <span class='op'>&&</span> <span class='id identifier rubyid_reply'>reply</span> <span class='op'>&&</span> <span class='id identifier rubyid_match_data'>match_data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='kw'>then</span>
|
2530
|
-
<span class='id identifier rubyid_reply'>reply</span> <span class='op'>=</span> <span class='id identifier rubyid_match_data'>match_data</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_gsub'>gsub</span><span class='lparen'>(</span><span class='id identifier rubyid_rule'>rule</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='comma'>,</span> <span class='id identifier rubyid_reply'>reply</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'>$</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>\\</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span><span class='rparen'>)</span>
|
2531
|
-
<span class='kw'>end</span>
|
2532
|
-
|
2533
|
-
<span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Application</span><span class='period'>.</span><span class='id identifier rubyid_instance'>instance</span><span class='period'>.</span><span class='id identifier rubyid_logger'>logger</span><span class='period'>.</span><span class='id identifier rubyid_debug'>debug</span><span class='lparen'>(</span><span class='id identifier rubyid_reply'>reply</span> <span class='op'>?</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Reply is </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_reply'>reply</span><span class='rbrace'>}</span><span class='tstring_content'> with type </span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='rbrace'>}</span><span class='tstring_content'>.</span><span class='tstring_end'>"</span></span> <span class='op'>:</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>No reply found.</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
2027
|
+
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 423</span>
|
2534
2028
|
|
2535
|
-
|
2536
|
-
<span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='id identifier rubyid_rule'>rule</span><span class='period'>.</span><span class='id identifier rubyid_options'>options</span>
|
2537
|
-
|
2538
|
-
<span class='id identifier rubyid_final_reply'>final_reply</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
|
2539
|
-
|
2540
|
-
<span class='kw'>case</span> <span class='id identifier rubyid_type'>type</span>
|
2541
|
-
<span class='kw'>when</span> <span class='symbol'>:MX</span>
|
2542
|
-
<span class='id identifier rubyid_preference'>preference</span> <span class='op'>=</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_delete'>delete</span><span class='lparen'>(</span><span class='symbol'>:preference</span><span class='rparen'>)</span>
|
2543
|
-
<span class='id identifier rubyid_preference'>preference</span> <span class='op'>=</span> <span class='id identifier rubyid_preference'>preference</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>?</span> <span class='int'>10</span> <span class='op'>:</span> <span class='id identifier rubyid_preference'>preference</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span><span class='lparen'>(</span><span class='int'>10</span><span class='rparen'>)</span>
|
2544
|
-
<span class='id identifier rubyid_final_reply'>final_reply</span> <span class='op'><<</span> <span class='id identifier rubyid_preference'>preference</span>
|
2545
|
-
<span class='kw'>end</span>
|
2546
|
-
|
2547
|
-
<span class='kw'>if</span> <span class='lbracket'>[</span><span class='symbol'>:A</span><span class='comma'>,</span> <span class='symbol'>:AAAA</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_include?'>include?</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span> <span class='kw'>then</span>
|
2548
|
-
<span class='id identifier rubyid_final_reply'>final_reply</span> <span class='op'><<</span> <span class='id identifier rubyid_reply'>reply</span>
|
2549
|
-
<span class='kw'>else</span>
|
2550
|
-
<span class='id identifier rubyid_final_reply'>final_reply</span> <span class='op'><<</span> <span class='const'>Resolv</span><span class='op'>::</span><span class='const'>DNS</span><span class='op'>::</span><span class='const'>Name</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_reply'>reply</span><span class='rparen'>)</span>
|
2551
|
-
<span class='kw'>end</span>
|
2552
|
-
|
2553
|
-
<span class='id identifier rubyid_final_reply'>final_reply</span> <span class='op'><<</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_merge'>merge</span><span class='lparen'>(</span><span class='lbrace'>{</span><span class='symbol'>:resource_class</span> <span class='op'>=></span> <span class='const'>DevDNSd</span><span class='op'>::</span><span class='const'>Rule</span><span class='period'>.</span><span class='id identifier rubyid_symbol_to_resource_class'>symbol_to_resource_class</span><span class='lparen'>(</span><span class='id identifier rubyid_type'>type</span><span class='rparen'>)</span><span class='rbrace'>}</span><span class='rparen'>)</span>
|
2554
|
-
<span class='id identifier rubyid_transaction'>transaction</span><span class='period'>.</span><span class='id identifier rubyid_respond!'>respond!</span><span class='lparen'>(</span><span class='op'>*</span><span class='id identifier rubyid_final_reply'>final_reply</span><span class='rparen'>)</span>
|
2555
|
-
<span class='kw'>elsif</span> <span class='id identifier rubyid_reply'>reply</span> <span class='op'>==</span> <span class='kw'>false</span> <span class='kw'>then</span>
|
2556
|
-
<span class='kw'>false</span>
|
2557
|
-
<span class='kw'>else</span>
|
2558
|
-
<span class='id identifier rubyid_reply'>reply</span>
|
2559
|
-
<span class='kw'>end</span>
|
2029
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_on_start'>on_start</span>
|
2560
2030
|
<span class='kw'>end</span></pre>
|
2561
2031
|
</td>
|
2562
2032
|
</tr>
|
@@ -2564,9 +2034,9 @@ System services are only available on that platform.</p>
|
|
2564
2034
|
</div>
|
2565
2035
|
|
2566
2036
|
<div class="method_details ">
|
2567
|
-
<h3 class="signature " id="
|
2037
|
+
<h3 class="signature " id="on_stop-instance_method">
|
2568
2038
|
|
2569
|
-
- (<tt>
|
2039
|
+
- (<tt>NilClass</tt>) <strong>on_stop</strong>
|
2570
2040
|
|
2571
2041
|
|
2572
2042
|
|
@@ -2574,46 +2044,25 @@ System services are only available on that platform.</p>
|
|
2574
2044
|
|
2575
2045
|
</h3><div class="docstring">
|
2576
2046
|
<div class="discussion">
|
2577
|
-
<p>
|
2047
|
+
<p>This method is called when the server stop.</p>
|
2578
2048
|
|
2579
2049
|
|
2580
2050
|
</div>
|
2581
2051
|
</div>
|
2582
2052
|
<div class="tags">
|
2583
|
-
<p class="tag_title">Parameters:</p>
|
2584
|
-
<ul class="param">
|
2585
|
-
|
2586
|
-
<li>
|
2587
|
-
|
2588
|
-
<span class='name'>tld</span>
|
2589
|
-
|
2590
|
-
|
2591
|
-
<span class='type'>(<tt>String</tt>)</span>
|
2592
|
-
|
2593
|
-
|
2594
|
-
<em class="default">(defaults to: <tt>nil</tt>)</em>
|
2595
|
-
|
2596
|
-
|
2597
|
-
—
|
2598
|
-
<div class='inline'><p>The TLD to manage.</p>
|
2599
|
-
</div>
|
2600
|
-
|
2601
|
-
</li>
|
2602
2053
|
|
2603
|
-
</ul>
|
2604
|
-
|
2605
2054
|
<p class="tag_title">Returns:</p>
|
2606
2055
|
<ul class="return">
|
2607
2056
|
|
2608
2057
|
<li>
|
2609
2058
|
|
2610
2059
|
|
2611
|
-
<span class='type'>(<tt>
|
2060
|
+
<span class='type'>(<tt>NilClass</tt>)</span>
|
2612
2061
|
|
2613
2062
|
|
2614
2063
|
|
2615
2064
|
—
|
2616
|
-
<div class='inline'><p>
|
2065
|
+
<div class='inline'><p><code>nil</code>.</p>
|
2617
2066
|
</div>
|
2618
2067
|
|
2619
2068
|
</li>
|
@@ -2626,17 +2075,13 @@ System services are only available on that platform.</p>
|
|
2626
2075
|
<pre class="lines">
|
2627
2076
|
|
2628
2077
|
|
2629
|
-
|
2630
|
-
|
2631
|
-
102
|
2632
|
-
103</pre>
|
2078
|
+
429
|
2079
|
+
430</pre>
|
2633
2080
|
</td>
|
2634
2081
|
<td>
|
2635
|
-
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line
|
2082
|
+
<pre class="code"><span class="info file"># File 'lib/devdnsd/application.rb', line 429</span>
|
2636
2083
|
|
2637
|
-
<span class='kw'>def</span> <span class='id identifier
|
2638
|
-
<span class='id identifier rubyid_tld'>tld</span> <span class='op'>||=</span> <span class='ivar'>@config</span><span class='period'>.</span><span class='id identifier rubyid_tld'>tld</span>
|
2639
|
-
<span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>/etc/resolver/</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_tld'>tld</span><span class='rbrace'>}</span><span class='tstring_end'>"</span></span>
|
2084
|
+
<span class='kw'>def</span> <span class='id identifier rubyid_on_stop'>on_stop</span>
|
2640
2085
|
<span class='kw'>end</span></pre>
|
2641
2086
|
</td>
|
2642
2087
|
</tr>
|
@@ -2648,9 +2093,9 @@ System services are only available on that platform.</p>
|
|
2648
2093
|
</div>
|
2649
2094
|
|
2650
2095
|
<div id="footer">
|
2651
|
-
Generated on
|
2096
|
+
Generated on Sun Feb 10 13:20:34 2013 by
|
2652
2097
|
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
2653
|
-
0.8.
|
2098
|
+
0.8.4.1 (ruby-1.9.3).
|
2654
2099
|
</div>
|
2655
2100
|
|
2656
2101
|
</body>
|