bovem 3.0.5 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -3
  3. data/.rubocop.yml +82 -0
  4. data/.travis-gemfile +4 -5
  5. data/.travis.yml +8 -6
  6. data/CHANGELOG.md +12 -0
  7. data/Gemfile +9 -8
  8. data/README.md +1 -1
  9. data/Rakefile +22 -6
  10. data/bovem.gemspec +5 -5
  11. data/doc/Bovem.html +10 -10
  12. data/doc/Bovem/Application.html +670 -318
  13. data/doc/Bovem/Command.html +1447 -1125
  14. data/doc/Bovem/CommandMethods.html +4 -4
  15. data/doc/Bovem/CommandMethods/Children.html +173 -179
  16. data/doc/Bovem/CommandMethods/Help.html +9 -9
  17. data/doc/Bovem/Configuration.html +239 -24
  18. data/doc/Bovem/Console.html +267 -128
  19. data/doc/Bovem/ConsoleMethods.html +4 -4
  20. data/doc/Bovem/ConsoleMethods/Interactions.html +57 -70
  21. data/doc/Bovem/ConsoleMethods/Interactions/ClassMethods.html +9 -9
  22. data/doc/Bovem/ConsoleMethods/Logging.html +258 -298
  23. data/doc/Bovem/ConsoleMethods/Logging/ClassMethods.html +8 -8
  24. data/doc/Bovem/ConsoleMethods/Output.html +96 -118
  25. data/doc/Bovem/ConsoleMethods/StyleHandling.html +8 -8
  26. data/doc/Bovem/ConsoleMethods/StyleHandling/ClassMethods.html +26 -39
  27. data/doc/Bovem/Errors.html +4 -4
  28. data/doc/Bovem/Errors/Error.html +4 -4
  29. data/doc/Bovem/Errors/InvalidConfiguration.html +4 -4
  30. data/doc/Bovem/Errors/InvalidLogger.html +4 -4
  31. data/doc/Bovem/I18n.html +175 -0
  32. data/doc/Bovem/Logger.html +95 -83
  33. data/doc/Bovem/Option.html +669 -862
  34. data/doc/Bovem/Parser.html +10 -10
  35. data/doc/Bovem/ParserMethods.html +4 -4
  36. data/doc/Bovem/ParserMethods/General.html +4 -4
  37. data/doc/Bovem/ParserMethods/General/ClassMethods.html +26 -38
  38. data/doc/Bovem/Shell.html +169 -48
  39. data/doc/Bovem/ShellMethods.html +4 -4
  40. data/doc/Bovem/ShellMethods/Directories.html +46 -62
  41. data/doc/Bovem/ShellMethods/Execute.html +51 -99
  42. data/doc/Bovem/ShellMethods/General.html +4 -445
  43. data/doc/Bovem/ShellMethods/Read.html +56 -61
  44. data/doc/Bovem/ShellMethods/Write.html +22 -242
  45. data/doc/Bovem/Version.html +6 -6
  46. data/doc/_index.html +18 -18
  47. data/doc/class_list.html +6 -2
  48. data/doc/css/style.css +1 -0
  49. data/doc/file.README.html +5 -5
  50. data/doc/file_list.html +5 -1
  51. data/doc/frames.html +1 -1
  52. data/doc/index.html +5 -5
  53. data/doc/js/full_list.js +4 -1
  54. data/doc/method_list.html +161 -157
  55. data/doc/top-level-namespace.html +4 -4
  56. data/lib/bovem.rb +3 -4
  57. data/lib/bovem/application.rb +47 -39
  58. data/lib/bovem/command.rb +175 -193
  59. data/lib/bovem/configuration.rb +28 -29
  60. data/lib/bovem/console.rb +244 -171
  61. data/lib/bovem/errors.rb +1 -1
  62. data/lib/bovem/i18n.rb +18 -0
  63. data/lib/bovem/logger.rb +26 -26
  64. data/lib/bovem/option.rb +49 -58
  65. data/lib/bovem/parser.rb +174 -222
  66. data/lib/bovem/shell.rb +272 -320
  67. data/lib/bovem/version.rb +2 -2
  68. data/locales/en.yml +39 -38
  69. data/locales/it.yml +39 -38
  70. data/spec/bovem/application_spec.rb +6 -5
  71. data/spec/bovem/command_spec.rb +23 -23
  72. data/spec/bovem/console_spec.rb +101 -102
  73. data/spec/bovem/i18n_spec.rb +21 -0
  74. data/spec/bovem/logger_spec.rb +4 -4
  75. data/spec/bovem/option_spec.rb +43 -43
  76. data/spec/bovem/parser_spec.rb +13 -13
  77. data/spec/bovem/shell_spec.rb +106 -115
  78. data/spec/spec_helper.rb +19 -6
  79. metadata +14 -13
  80. data/doc/Bovem/Localizer.html +0 -376
  81. data/lib/bovem/localizer.rb +0 -27
  82. data/spec/coverage_helper.rb +0 -20
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: Bovem::Logger
8
8
 
9
- &mdash; Documentation by YARD 0.8.7.3
9
+ &mdash; Documentation by YARD 0.8.7.6
10
10
 
11
11
  </title>
12
12
 
@@ -17,7 +17,7 @@
17
17
  <script type="text/javascript" charset="utf-8">
18
18
  hasFrames = window.top.frames.main ? true : false;
19
19
  relpath = '../';
20
- framesUrl = "../frames.html#!" + escape(window.location.href);
20
+ framesUrl = "../frames.html#!Bovem/Logger.html";
21
21
  </script>
22
22
 
23
23
 
@@ -112,6 +112,28 @@
112
112
 
113
113
 
114
114
  </div>
115
+ <h2>Constant Summary</h2>
116
+
117
+ <dl class="constants">
118
+
119
+ <dt id="LEVEL_NAMES-constant" class="">LEVEL_NAMES =
120
+ <div class="docstring">
121
+ <div class="discussion">
122
+ <p>List of valid logger levels.</p>
123
+
124
+
125
+ </div>
126
+ </div>
127
+ <div class="tags">
128
+
129
+
130
+ </div>
131
+ </dt>
132
+ <dd><pre class="code"><span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>DEBUG</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='symbol'>:cyan</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>INFO</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='symbol'>:green</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>WARN</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='symbol'>:yellow</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ERROR</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='symbol'>:red</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>FATAL</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='symbol'>:magenta</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span></pre></dd>
133
+
134
+ </dl>
135
+
136
+
115
137
 
116
138
 
117
139
 
@@ -162,7 +184,7 @@
162
184
  <li class="public ">
163
185
  <span class="summary_signature">
164
186
 
165
- <a href="#create-class_method" title="create (class method)">+ (Logger) <strong>create</strong>(file = nil, level = Logger::INFO, formatter = nil) </a>
187
+ <a href="#create-class_method" title="create (class method)">+ (Logger) <strong>create</strong>(file = nil, level: Logger::INFO, formatter: nil) </a>
166
188
 
167
189
 
168
190
 
@@ -286,7 +308,7 @@
286
308
  <li class="public ">
287
309
  <span class="summary_signature">
288
310
 
289
- <a href="#initialize-instance_method" title="#initialize (instance method)">- (Logger) <strong>initialize</strong>(logdev, shift_age = 0, shift_size = 1048576) </a>
311
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Logger) <strong>initialize</strong>(logdev, shift_age = 0, shift_size = 1_048_576) </a>
290
312
 
291
313
 
292
314
 
@@ -318,7 +340,7 @@
318
340
  <div class="method_details first">
319
341
  <h3 class="signature first" id="initialize-instance_method">
320
342
 
321
- - (<tt><span class='object_link'><a href="" title="Bovem::Logger (class)">Logger</a></span></tt>) <strong>initialize</strong>(logdev, shift_age = 0, shift_size = 1048576)
343
+ - (<tt><span class='object_link'><a href="" title="Bovem::Logger (class)">Logger</a></span></tt>) <strong>initialize</strong>(logdev, shift_age = 0, shift_size = 1_048_576)
322
344
 
323
345
 
324
346
 
@@ -375,7 +397,7 @@
375
397
  <span class='type'>(<tt>Fixnum</tt>)</span>
376
398
 
377
399
 
378
- <em class="default">(defaults to: <tt>1048576</tt>)</em>
400
+ <em class="default">(defaults to: <tt>1_048_576</tt>)</em>
379
401
 
380
402
 
381
403
  &mdash;
@@ -400,15 +422,15 @@
400
422
  <pre class="lines">
401
423
 
402
424
 
403
- 22
404
- 23
405
- 24
406
- 25</pre>
425
+ 25
426
+ 26
427
+ 27
428
+ 28</pre>
407
429
  </td>
408
430
  <td>
409
- <pre class="code"><span class="info file"># File 'lib/bovem/logger.rb', line 22</span>
431
+ <pre class="code"><span class="info file"># File 'lib/bovem/logger.rb', line 25</span>
410
432
 
411
- <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_logdev'>logdev</span><span class='comma'>,</span> <span class='id identifier rubyid_shift_age'>shift_age</span> <span class='op'>=</span> <span class='int'>0</span><span class='comma'>,</span> <span class='id identifier rubyid_shift_size'>shift_size</span> <span class='op'>=</span> <span class='int'>1048576</span><span class='rparen'>)</span>
433
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_logdev'>logdev</span><span class='comma'>,</span> <span class='id identifier rubyid_shift_age'>shift_age</span> <span class='op'>=</span> <span class='int'>0</span><span class='comma'>,</span> <span class='id identifier rubyid_shift_size'>shift_size</span> <span class='op'>=</span> <span class='int'>1_048_576</span><span class='rparen'>)</span>
412
434
  <span class='ivar'>@device</span> <span class='op'>=</span> <span class='id identifier rubyid_logdev'>logdev</span>
413
435
  <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_logdev'>logdev</span><span class='comma'>,</span> <span class='id identifier rubyid_shift_age'>shift_age</span><span class='comma'>,</span> <span class='id identifier rubyid_shift_size'>shift_size</span><span class='rparen'>)</span>
414
436
  <span class='kw'>end</span></pre>
@@ -547,6 +569,9 @@
547
569
  <span class='kw'>class</span> <span class='const'>Logger</span> <span class='op'>&lt;</span> <span class='op'>::</span><span class='const'>Logger</span>
548
570
  <span class='id identifier rubyid_attr_reader'>attr_reader</span> <span class='symbol'>:device</span>
549
571
 
572
+ <span class='comment'># List of valid logger levels.
573
+ </span> <span class='const'>LEVEL_NAMES</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>DEBUG</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='symbol'>:cyan</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>INFO</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='symbol'>:green</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>WARN</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='symbol'>:yellow</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ERROR</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='symbol'>:red</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>FATAL</span><span class='tstring_end'>&quot;</span></span> <span class='op'>=&gt;</span> <span class='symbol'>:magenta</span><span class='rbrace'>}</span><span class='period'>.</span><span class='id identifier rubyid_freeze'>freeze</span>
574
+
550
575
  <span class='comment'># Creates a new logger.
551
576
  </span> <span class='comment'>#
552
577
  </span> <span class='comment'># @see http://www.ruby-doc.org/stdlib-1.9.3/libdoc/logger/rdoc/Logger.html
@@ -554,7 +579,7 @@
554
579
  </span> <span class='comment'># @param logdev [String|IO] The log device. This is a filename (String) or IO object (typically STDOUT, STDERR, or an open file).
555
580
  </span> <span class='comment'># @param shift_age [Fixnum] Number of old log files to keep, or frequency of rotation (daily, weekly or monthly).
556
581
  </span> <span class='comment'># @param shift_size [Fixnum] Maximum logfile size (only applies when shift_age is a number).
557
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_logdev'>logdev</span><span class='comma'>,</span> <span class='id identifier rubyid_shift_age'>shift_age</span> <span class='op'>=</span> <span class='int'>0</span><span class='comma'>,</span> <span class='id identifier rubyid_shift_size'>shift_size</span> <span class='op'>=</span> <span class='int'>1048576</span><span class='rparen'>)</span>
582
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_logdev'>logdev</span><span class='comma'>,</span> <span class='id identifier rubyid_shift_age'>shift_age</span> <span class='op'>=</span> <span class='int'>0</span><span class='comma'>,</span> <span class='id identifier rubyid_shift_size'>shift_size</span> <span class='op'>=</span> <span class='int'>1_048_576</span><span class='rparen'>)</span>
558
583
  <span class='ivar'>@device</span> <span class='op'>=</span> <span class='id identifier rubyid_logdev'>logdev</span>
559
584
  <span class='kw'>super</span><span class='lparen'>(</span><span class='id identifier rubyid_logdev'>logdev</span><span class='comma'>,</span> <span class='id identifier rubyid_shift_age'>shift_age</span><span class='comma'>,</span> <span class='id identifier rubyid_shift_size'>shift_size</span><span class='rparen'>)</span>
560
585
  <span class='kw'>end</span>
@@ -565,15 +590,13 @@
565
590
  </span> <span class='comment'># @param level [Fixnum] The minimum severity to log. See http://www.ruby-doc.org/stdlib-1.9.3/libdoc/logger/rdoc/Logger.html for valid levels.
566
591
  </span> <span class='comment'># @param formatter [Proc] The formatter to use for logging.
567
592
  </span> <span class='comment'># @return [Logger] The new logger.
568
- </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_level'>level</span> <span class='op'>=</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='comma'>,</span> <span class='id identifier rubyid_formatter'>formatter</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
569
- <span class='kw'>begin</span>
570
- <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span> <span class='op'>||</span> <span class='id identifier rubyid_default_file'>default_file</span><span class='rparen'>)</span><span class='rparen'>)</span>
571
- <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_level'>level</span> <span class='op'>=</span> <span class='id identifier rubyid_level'>level</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span>
572
- <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_formatter'>formatter</span> <span class='op'>=</span> <span class='id identifier rubyid_formatter'>formatter</span> <span class='op'>||</span> <span class='id identifier rubyid_default_formatter'>default_formatter</span>
573
- <span class='id identifier rubyid_rv'>rv</span>
574
- <span class='kw'>rescue</span>
575
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>InvalidLogger</span>
576
- <span class='kw'>end</span>
593
+ </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>level:</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='comma'>,</span> <span class='label'>formatter:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
594
+ <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span> <span class='op'>||</span> <span class='id identifier rubyid_default_file'>default_file</span><span class='rparen'>)</span><span class='rparen'>)</span>
595
+ <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_level'>level</span> <span class='op'>=</span> <span class='id identifier rubyid_level'>level</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span>
596
+ <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_formatter'>formatter</span> <span class='op'>=</span> <span class='id identifier rubyid_formatter'>formatter</span> <span class='op'>||</span> <span class='id identifier rubyid_default_formatter'>default_formatter</span>
597
+ <span class='id identifier rubyid_rv'>rv</span>
598
+ <span class='kw'>rescue</span>
599
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>InvalidLogger</span>
577
600
  <span class='kw'>end</span>
578
601
 
579
602
  <span class='comment'># Translates a file to standard input or standard output in some special cases.
@@ -582,9 +605,9 @@
582
605
  </span> <span class='comment'># @return [String|IO] The translated file name.
583
606
  </span> <span class='kw'>def</span> <span class='kw'>self</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_file'>file</span><span class='rparen'>)</span>
584
607
  <span class='kw'>case</span> <span class='id identifier rubyid_file'>file</span>
585
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>STDOUT</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='gvar'>$stdout</span>
586
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='gvar'>$stderr</span>
587
- <span class='kw'>else</span> <span class='id identifier rubyid_file'>file</span>
608
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>STDOUT</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='gvar'>$stdout</span>
609
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='gvar'>$stderr</span>
610
+ <span class='kw'>else</span> <span class='id identifier rubyid_file'>file</span>
588
611
  <span class='kw'>end</span>
589
612
  <span class='kw'>end</span>
590
613
 
@@ -597,19 +620,18 @@
597
620
  <span class='comment'># The default formatter for logging.
598
621
  </span> <span class='comment'># @return [Proc] The default formatter for logging.
599
622
  </span> <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_default_formatter'>default_formatter</span>
600
- <span class='ivar'>@default_formatter</span> <span class='op'>||=</span> <span class='op'>::</span><span class='const'>Proc</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_severity'>severity</span><span class='comma'>,</span> <span class='id identifier rubyid_datetime'>datetime</span><span class='comma'>,</span> <span class='id identifier rubyid__'>_</span><span class='comma'>,</span> <span class='id identifier rubyid_msg'>msg</span><span class='op'>|</span>
601
- <span class='id identifier rubyid_color'>color</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_severity'>severity</span>
602
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>DEBUG</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='symbol'>:cyan</span>
603
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>INFO</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='symbol'>:green</span>
604
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>WARN</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='symbol'>:yellow</span>
605
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ERROR</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='symbol'>:red</span>
606
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>FATAL</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='symbol'>:magenta</span>
607
- <span class='kw'>else</span> <span class='symbol'>:white</span>
608
- <span class='kw'>end</span>
609
-
610
- <span class='id identifier rubyid_header'>header</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Console</span><span class='period'>.</span><span class='id identifier rubyid_replace_markers'>replace_markers</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>{mark=bright-</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_color'>color</span><span class='embexpr_end'>}</span><span class='tstring_content'>}[%s T+%0.5f] %s:{/mark}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>%</span><span class='lbracket'>[</span><span class='id identifier rubyid_datetime'>datetime</span><span class='period'>.</span><span class='id identifier rubyid_strftime'>strftime</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%Y/%b/%d %H:%M:%S</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_datetime'>datetime</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>-</span> <span class='id identifier rubyid_start_time'>start_time</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='comma'>,</span> <span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span><span class='comma'>,</span> <span class='id identifier rubyid_severity'>severity</span><span class='period'>.</span><span class='id identifier rubyid_rjust'>rjust</span><span class='lparen'>(</span><span class='int'>5</span><span class='rparen'>)</span><span class='rbracket'>]</span><span class='rparen'>)</span>
611
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%s %s\n</span><span class='tstring_end'>&quot;</span></span> <span class='op'>%</span> <span class='lbracket'>[</span><span class='id identifier rubyid_header'>header</span><span class='comma'>,</span> <span class='id identifier rubyid_msg'>msg</span><span class='rbracket'>]</span>
612
- <span class='rbrace'>}</span>
623
+ <span class='ivar'>@default_formatter</span> <span class='op'>||=</span> <span class='op'>::</span><span class='const'>Proc</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_severity'>severity</span><span class='comma'>,</span> <span class='id identifier rubyid_datetime'>datetime</span><span class='comma'>,</span> <span class='id identifier rubyid__'>_</span><span class='comma'>,</span> <span class='id identifier rubyid_msg'>msg</span><span class='op'>|</span>
624
+ <span class='id identifier rubyid_color'>color</span> <span class='op'>=</span> <span class='const'>LEVEL_NAMES</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_severity'>severity</span><span class='comma'>,</span> <span class='symbol'>:white</span><span class='rparen'>)</span>
625
+
626
+ <span class='id identifier rubyid_header'>header</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Console</span><span class='period'>.</span><span class='id identifier rubyid_replace_markers'>replace_markers</span><span class='lparen'>(</span>
627
+ <span class='id identifier rubyid_sprintf'>sprintf</span><span class='lparen'>(</span>
628
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>{mark=bright-</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_color'>color</span><span class='embexpr_end'>}</span><span class='tstring_content'>}[%s T+%0.5f] %s:{/mark}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_datetime'>datetime</span><span class='period'>.</span><span class='id identifier rubyid_strftime'>strftime</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%Y/%b/%d %H:%M:%S</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='comma'>,</span>
629
+ <span class='lbracket'>[</span><span class='id identifier rubyid_datetime'>datetime</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>-</span> <span class='id identifier rubyid_start_time'>start_time</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='comma'>,</span> <span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span><span class='comma'>,</span> <span class='id identifier rubyid_severity'>severity</span><span class='period'>.</span><span class='id identifier rubyid_rjust'>rjust</span><span class='lparen'>(</span><span class='int'>5</span><span class='rparen'>)</span>
630
+ <span class='rparen'>)</span>
631
+ <span class='rparen'>)</span>
632
+
633
+ <span class='id identifier rubyid_sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%s %s\n</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_header'>header</span><span class='comma'>,</span> <span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
634
+ <span class='kw'>end</span>
613
635
  <span class='kw'>end</span>
614
636
 
615
637
  <span class='comment'># The log time of the first logger. This allows to show a `T+0.1234` information into the log.
@@ -633,7 +655,7 @@
633
655
  <div class="method_details first">
634
656
  <h3 class="signature first" id="create-class_method">
635
657
 
636
- + (<tt><span class='object_link'><a href="" title="Bovem::Logger (class)">Logger</a></span></tt>) <strong>create</strong>(file = nil, level = Logger::INFO, formatter = nil)
658
+ + (<tt><span class='object_link'><a href="" title="Bovem::Logger (class)">Logger</a></span></tt>) <strong>create</strong>(file = nil, level: Logger::INFO, formatter: nil)
637
659
 
638
660
 
639
661
 
@@ -675,8 +697,6 @@
675
697
  <span class='type'>(<tt>Fixnum</tt>)</span>
676
698
 
677
699
 
678
- <em class="default">(defaults to: <tt>Logger::INFO</tt>)</em>
679
-
680
700
 
681
701
  &mdash;
682
702
  <div class='inline'><p>The minimum severity to log. See http://www.ruby-doc.org/stdlib-1.9.3/libdoc/logger/rdoc/Logger.html for valid levels.</p>
@@ -692,8 +712,6 @@
692
712
  <span class='type'>(<tt>Proc</tt>)</span>
693
713
 
694
714
 
695
- <em class="default">(defaults to: <tt>nil</tt>)</em>
696
-
697
715
 
698
716
  &mdash;
699
717
  <div class='inline'><p>The formatter to use for logging.</p>
@@ -727,29 +745,25 @@
727
745
  <pre class="lines">
728
746
 
729
747
 
730
- 33
731
- 34
732
- 35
733
748
  36
734
749
  37
735
750
  38
736
751
  39
737
752
  40
738
753
  41
739
- 42</pre>
754
+ 42
755
+ 43</pre>
740
756
  </td>
741
757
  <td>
742
- <pre class="code"><span class="info file"># File 'lib/bovem/logger.rb', line 33</span>
743
-
744
- <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_level'>level</span> <span class='op'>=</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='comma'>,</span> <span class='id identifier rubyid_formatter'>formatter</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='rparen'>)</span>
745
- <span class='kw'>begin</span>
746
- <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span> <span class='op'>||</span> <span class='id identifier rubyid_default_file'>default_file</span><span class='rparen'>)</span><span class='rparen'>)</span>
747
- <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_level'>level</span> <span class='op'>=</span> <span class='id identifier rubyid_level'>level</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span>
748
- <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_formatter'>formatter</span> <span class='op'>=</span> <span class='id identifier rubyid_formatter'>formatter</span> <span class='op'>||</span> <span class='id identifier rubyid_default_formatter'>default_formatter</span>
749
- <span class='id identifier rubyid_rv'>rv</span>
750
- <span class='kw'>rescue</span>
751
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>InvalidLogger</span>
752
- <span class='kw'>end</span>
758
+ <pre class="code"><span class="info file"># File 'lib/bovem/logger.rb', line 36</span>
759
+
760
+ <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_create'>create</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='label'>level:</span> <span class='const'>Logger</span><span class='op'>::</span><span class='const'>INFO</span><span class='comma'>,</span> <span class='label'>formatter:</span> <span class='kw'>nil</span><span class='rparen'>)</span>
761
+ <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='id identifier rubyid_get_real_file'>get_real_file</span><span class='lparen'>(</span><span class='id identifier rubyid_file'>file</span> <span class='op'>||</span> <span class='id identifier rubyid_default_file'>default_file</span><span class='rparen'>)</span><span class='rparen'>)</span>
762
+ <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_level'>level</span> <span class='op'>=</span> <span class='id identifier rubyid_level'>level</span><span class='period'>.</span><span class='id identifier rubyid_to_integer'>to_integer</span>
763
+ <span class='id identifier rubyid_rv'>rv</span><span class='period'>.</span><span class='id identifier rubyid_formatter'>formatter</span> <span class='op'>=</span> <span class='id identifier rubyid_formatter'>formatter</span> <span class='op'>||</span> <span class='id identifier rubyid_default_formatter'>default_formatter</span>
764
+ <span class='id identifier rubyid_rv'>rv</span>
765
+ <span class='kw'>rescue</span>
766
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>InvalidLogger</span>
753
767
  <span class='kw'>end</span></pre>
754
768
  </td>
755
769
  </tr>
@@ -798,12 +812,12 @@
798
812
  <pre class="lines">
799
813
 
800
814
 
801
- 58
802
815
  59
803
- 60</pre>
816
+ 60
817
+ 61</pre>
804
818
  </td>
805
819
  <td>
806
- <pre class="code"><span class="info file"># File 'lib/bovem/logger.rb', line 58</span>
820
+ <pre class="code"><span class="info file"># File 'lib/bovem/logger.rb', line 59</span>
807
821
 
808
822
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_default_file'>default_file</span>
809
823
  <span class='ivar'>@default_file</span> <span class='op'>||=</span> <span class='gvar'>$stdout</span>
@@ -855,7 +869,6 @@
855
869
  <pre class="lines">
856
870
 
857
871
 
858
- 64
859
872
  65
860
873
  66
861
874
  67
@@ -872,22 +885,21 @@
872
885
  78</pre>
873
886
  </td>
874
887
  <td>
875
- <pre class="code"><span class="info file"># File 'lib/bovem/logger.rb', line 64</span>
888
+ <pre class="code"><span class="info file"># File 'lib/bovem/logger.rb', line 65</span>
876
889
 
877
890
  <span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_default_formatter'>default_formatter</span>
878
- <span class='ivar'>@default_formatter</span> <span class='op'>||=</span> <span class='op'>::</span><span class='const'>Proc</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id identifier rubyid_severity'>severity</span><span class='comma'>,</span> <span class='id identifier rubyid_datetime'>datetime</span><span class='comma'>,</span> <span class='id identifier rubyid__'>_</span><span class='comma'>,</span> <span class='id identifier rubyid_msg'>msg</span><span class='op'>|</span>
879
- <span class='id identifier rubyid_color'>color</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_severity'>severity</span>
880
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>DEBUG</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='symbol'>:cyan</span>
881
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>INFO</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='symbol'>:green</span>
882
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>WARN</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='symbol'>:yellow</span>
883
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>ERROR</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='symbol'>:red</span>
884
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>FATAL</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='symbol'>:magenta</span>
885
- <span class='kw'>else</span> <span class='symbol'>:white</span>
886
- <span class='kw'>end</span>
891
+ <span class='ivar'>@default_formatter</span> <span class='op'>||=</span> <span class='op'>::</span><span class='const'>Proc</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_severity'>severity</span><span class='comma'>,</span> <span class='id identifier rubyid_datetime'>datetime</span><span class='comma'>,</span> <span class='id identifier rubyid__'>_</span><span class='comma'>,</span> <span class='id identifier rubyid_msg'>msg</span><span class='op'>|</span>
892
+ <span class='id identifier rubyid_color'>color</span> <span class='op'>=</span> <span class='const'>LEVEL_NAMES</span><span class='period'>.</span><span class='id identifier rubyid_fetch'>fetch</span><span class='lparen'>(</span><span class='id identifier rubyid_severity'>severity</span><span class='comma'>,</span> <span class='symbol'>:white</span><span class='rparen'>)</span>
887
893
 
888
- <span class='id identifier rubyid_header'>header</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Console</span><span class='period'>.</span><span class='id identifier rubyid_replace_markers'>replace_markers</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>{mark=bright-</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_color'>color</span><span class='embexpr_end'>}</span><span class='tstring_content'>}[%s T+%0.5f] %s:{/mark}</span><span class='tstring_end'>&quot;</span></span> <span class='op'>%</span><span class='lbracket'>[</span><span class='id identifier rubyid_datetime'>datetime</span><span class='period'>.</span><span class='id identifier rubyid_strftime'>strftime</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%Y/%b/%d %H:%M:%S</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='id identifier rubyid_datetime'>datetime</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>-</span> <span class='id identifier rubyid_start_time'>start_time</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='comma'>,</span> <span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span><span class='comma'>,</span> <span class='id identifier rubyid_severity'>severity</span><span class='period'>.</span><span class='id identifier rubyid_rjust'>rjust</span><span class='lparen'>(</span><span class='int'>5</span><span class='rparen'>)</span><span class='rbracket'>]</span><span class='rparen'>)</span>
889
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%s %s\n</span><span class='tstring_end'>&quot;</span></span> <span class='op'>%</span> <span class='lbracket'>[</span><span class='id identifier rubyid_header'>header</span><span class='comma'>,</span> <span class='id identifier rubyid_msg'>msg</span><span class='rbracket'>]</span>
890
- <span class='rbrace'>}</span>
894
+ <span class='id identifier rubyid_header'>header</span> <span class='op'>=</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Console</span><span class='period'>.</span><span class='id identifier rubyid_replace_markers'>replace_markers</span><span class='lparen'>(</span>
895
+ <span class='id identifier rubyid_sprintf'>sprintf</span><span class='lparen'>(</span>
896
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>{mark=bright-</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_color'>color</span><span class='embexpr_end'>}</span><span class='tstring_content'>}[%s T+%0.5f] %s:{/mark}</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_datetime'>datetime</span><span class='period'>.</span><span class='id identifier rubyid_strftime'>strftime</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%Y/%b/%d %H:%M:%S</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='comma'>,</span>
897
+ <span class='lbracket'>[</span><span class='id identifier rubyid_datetime'>datetime</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span> <span class='op'>-</span> <span class='id identifier rubyid_start_time'>start_time</span><span class='period'>.</span><span class='id identifier rubyid_to_f'>to_f</span><span class='comma'>,</span> <span class='int'>0</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_max'>max</span><span class='comma'>,</span> <span class='id identifier rubyid_severity'>severity</span><span class='period'>.</span><span class='id identifier rubyid_rjust'>rjust</span><span class='lparen'>(</span><span class='int'>5</span><span class='rparen'>)</span>
898
+ <span class='rparen'>)</span>
899
+ <span class='rparen'>)</span>
900
+
901
+ <span class='id identifier rubyid_sprintf'>sprintf</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>%s %s\n</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_header'>header</span><span class='comma'>,</span> <span class='id identifier rubyid_msg'>msg</span><span class='rparen'>)</span>
902
+ <span class='kw'>end</span>
891
903
  <span class='kw'>end</span></pre>
892
904
  </td>
893
905
  </tr>
@@ -955,22 +967,22 @@
955
967
  <pre class="lines">
956
968
 
957
969
 
958
- 48
959
970
  49
960
971
  50
961
972
  51
962
973
  52
963
974
  53
964
- 54</pre>
975
+ 54
976
+ 55</pre>
965
977
  </td>
966
978
  <td>
967
- <pre class="code"><span class="info file"># File 'lib/bovem/logger.rb', line 48</span>
979
+ <pre class="code"><span class="info file"># File 'lib/bovem/logger.rb', line 49</span>
968
980
 
969
981
  <span class='kw'>def</span> <span class='kw'>self</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_file'>file</span><span class='rparen'>)</span>
970
982
  <span class='kw'>case</span> <span class='id identifier rubyid_file'>file</span>
971
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>STDOUT</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='gvar'>$stdout</span>
972
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='gvar'>$stderr</span>
973
- <span class='kw'>else</span> <span class='id identifier rubyid_file'>file</span>
983
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>STDOUT</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='gvar'>$stdout</span>
984
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='gvar'>$stderr</span>
985
+ <span class='kw'>else</span> <span class='id identifier rubyid_file'>file</span>
974
986
  <span class='kw'>end</span>
975
987
  <span class='kw'>end</span></pre>
976
988
  </td>
@@ -1040,9 +1052,9 @@
1040
1052
  </div>
1041
1053
 
1042
1054
  <div id="footer">
1043
- Generated on Sat Mar 8 10:27:43 2014 by
1055
+ Generated on Tue Mar 29 20:43:17 2016 by
1044
1056
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1045
- 0.8.7.3 (ruby-2.1.0).
1057
+ 0.8.7.6 (ruby-2.3.0).
1046
1058
  </div>
1047
1059
 
1048
1060
  </body>
@@ -6,7 +6,7 @@
6
6
  <title>
7
7
  Class: Bovem::Option
8
8
 
9
- &mdash; Documentation by YARD 0.8.7.3
9
+ &mdash; Documentation by YARD 0.8.7.6
10
10
 
11
11
  </title>
12
12
 
@@ -17,7 +17,7 @@
17
17
  <script type="text/javascript" charset="utf-8">
18
18
  hasFrames = window.top.frames.main ? true : false;
19
19
  relpath = '../';
20
- framesUrl = "../frames.html#!" + escape(window.location.href);
20
+ framesUrl = "../frames.html#!Bovem/Option.html";
21
21
  </script>
22
22
 
23
23
 
@@ -490,7 +490,7 @@
490
490
  <li class="public ">
491
491
  <span class="summary_signature">
492
492
 
493
- <a href="#execute_action-instance_method" title="#execute_action (instance method)">- (Object) <strong>execute_action</strong> </a>
493
+ <a href="#default%3F-instance_method" title="#default? (instance method)">- (Boolean) <strong>default?</strong> </a>
494
494
 
495
495
 
496
496
 
@@ -504,7 +504,7 @@
504
504
 
505
505
 
506
506
 
507
- <span class="summary_desc"><div class='inline'><p>Executes the action associated to this option.</p>
507
+ <span class="summary_desc"><div class='inline'><p>Check if the current option has a default value.</p>
508
508
  </div></span>
509
509
 
510
510
  </li>
@@ -513,7 +513,7 @@
513
513
  <li class="public ">
514
514
  <span class="summary_signature">
515
515
 
516
- <a href="#has_default%3F-instance_method" title="#has_default? (instance method)">- (Boolean) <strong>has_default?</strong> </a>
516
+ <a href="#execute_action-instance_method" title="#execute_action (instance method)">- (Object) <strong>execute_action</strong> </a>
517
517
 
518
518
 
519
519
 
@@ -527,7 +527,7 @@
527
527
 
528
528
 
529
529
 
530
- <span class="summary_desc"><div class='inline'><p>Check if the current option has a default value.</p>
530
+ <span class="summary_desc"><div class='inline'><p>Executes the action associated to this option.</p>
531
531
  </div></span>
532
532
 
533
533
  </li>
@@ -536,7 +536,7 @@
536
536
  <li class="public ">
537
537
  <span class="summary_signature">
538
538
 
539
- <a href="#has_help%3F-instance_method" title="#has_help? (instance method)">- (Boolean) <strong>has_help?</strong> </a>
539
+ <a href="#help%3F-instance_method" title="#help? (instance method)">- (Boolean) <strong>help?</strong> </a>
540
540
 
541
541
 
542
542
 
@@ -772,16 +772,16 @@
772
772
  <pre class="lines">
773
773
 
774
774
 
775
+ 61
775
776
  62
776
777
  63
777
778
  64
778
779
  65
779
780
  66
780
- 67
781
- 68</pre>
781
+ 67</pre>
782
782
  </td>
783
783
  <td>
784
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 62</span>
784
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 61</span>
785
785
 
786
786
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span><span class='id identifier rubyid_name'>name</span><span class='comma'>,</span> <span class='id identifier rubyid_forms'>forms</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
787
787
  <span class='ivar'>@name</span> <span class='op'>=</span> <span class='id identifier rubyid_name'>name</span><span class='period'>.</span><span class='id identifier rubyid_ensure_string'>ensure_string</span>
@@ -844,6 +844,7 @@
844
844
  <pre class="lines">
845
845
 
846
846
 
847
+ 41
847
848
  42
848
849
  43
849
850
  44
@@ -1046,19 +1047,10 @@
1046
1047
  241
1047
1048
  242
1048
1049
  243
1049
- 244
1050
- 245
1051
- 246
1052
- 247
1053
- 248
1054
- 249
1055
- 250
1056
- 251
1057
- 252
1058
- 253</pre>
1050
+ 244</pre>
1059
1051
  </td>
1060
1052
  <td>
1061
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 42</span>
1053
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 41</span>
1062
1054
 
1063
1055
  <span class='kw'>class</span> <span class='const'>Option</span>
1064
1056
  <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
@@ -1092,7 +1084,7 @@
1092
1084
  </span> <span class='comment'>#
1093
1085
  </span> <span class='comment'># @param value [String] The short form of this option.
1094
1086
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_short='>short=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1095
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1087
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1096
1088
 
1097
1089
  <span class='comment'># Clean value
1098
1090
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}([a-z0-9])(.*)$</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -1104,7 +1096,7 @@
1104
1096
  </span> <span class='comment'>#
1105
1097
  </span> <span class='comment'># @param value [String] The short form of this option.
1106
1098
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_long='>long=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1107
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1099
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1108
1100
 
1109
1101
  <span class='comment'># Clean value
1110
1102
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}(.+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -1117,7 +1109,7 @@
1117
1109
  </span> <span class='comment'># @param value [String] The validator of this option.
1118
1110
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_validator='>validator=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1119
1111
  <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span><span class='rparen'>)</span>
1120
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
1112
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
1121
1113
  <span class='ivar'>@validator</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
1122
1114
  <span class='kw'>end</span>
1123
1115
 
@@ -1144,22 +1136,24 @@
1144
1136
 
1145
1137
  <span class='comment'># Returns the meta argument for this option.
1146
1138
  </span> <span class='comment'>#
1147
- </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`, if this option doesn&#39;t require a meta argument.
1139
+ </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`,
1140
+ </span> <span class='comment'># if this option doesn&#39;t require a meta argument.
1148
1141
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
1149
- <span class='id identifier rubyid_requires_argument?'>requires_argument?</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
1142
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_requires_argument?'>requires_argument?</span>
1143
+ <span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
1150
1144
  <span class='kw'>end</span>
1151
1145
 
1152
1146
  <span class='comment'># Get the current default value for this option.
1153
1147
  </span> <span class='comment'>#
1154
1148
  </span> <span class='comment'># @return [Object] The default value for this option.
1155
1149
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_default'>default</span>
1156
- <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span>
1150
+ <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
1157
1151
  <span class='kw'>end</span>
1158
1152
 
1159
1153
  <span class='comment'># Check if the current option has a default value.
1160
1154
  </span> <span class='comment'>#
1161
1155
  </span> <span class='comment'># @return [Boolean] If the current option has a default value.
1162
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
1156
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
1163
1157
  <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1164
1158
  <span class='kw'>end</span>
1165
1159
 
@@ -1172,7 +1166,7 @@
1172
1166
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
1173
1167
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
1174
1168
 
1175
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
1169
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
1176
1170
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
1177
1171
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
1178
1172
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -1185,10 +1179,9 @@
1185
1179
 
1186
1180
  <span class='comment'># Executes the action associated to this option.
1187
1181
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
1188
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
1189
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
1190
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
1191
- <span class='kw'>end</span>
1182
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1183
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
1184
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
1192
1185
  <span class='kw'>end</span>
1193
1186
 
1194
1187
  <span class='comment'># Checks if this option requires an argument.
@@ -1208,7 +1201,7 @@
1208
1201
  <span class='comment'># Check if this command has a help.
1209
1202
  </span> <span class='comment'>#
1210
1203
  </span> <span class='comment'># @return [Boolean] `true` if this command has a help, `false` otherwise.
1211
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
1204
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
1212
1205
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1213
1206
  <span class='kw'>end</span>
1214
1207
 
@@ -1220,57 +1213,48 @@
1220
1213
  <span class='kw'>end</span>
1221
1214
 
1222
1215
  <span class='id identifier rubyid_private'>private</span>
1223
- <span class='comment'># Setups the forms of the this option.
1224
- </span> <span class='comment'>#
1225
- </span> <span class='comment'># @param forms [Array] An array of short and long forms for this option. Missing forms will be inferred by the name.
1226
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
1227
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
1228
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
1229
- <span class='kw'>end</span>
1230
1216
 
1231
- <span class='comment'># Setups the settings of the this option.
1232
- </span> <span class='comment'>#
1233
- </span> <span class='comment'># @param options [Hash] The settings for this option.
1234
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1235
- <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
1236
- <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1237
- <span class='kw'>end</span>
1238
- <span class='kw'>end</span>
1217
+ <span class='comment'># :nodoc:
1218
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
1219
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
1220
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
1221
+ <span class='kw'>end</span>
1239
1222
 
1240
- <span class='comment'># Setups the action of the this option.
1241
- </span> <span class='comment'>#
1242
- </span> <span class='comment'># @param action [Proc] The action of this option.
1243
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
1244
- <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
1223
+ <span class='comment'># :nodoc:
1224
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1225
+ <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
1226
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1245
1227
  <span class='kw'>end</span>
1228
+ <span class='kw'>end</span>
1246
1229
 
1247
- <span class='comment'># Handle failure in setting an option.
1248
- </span> <span class='comment'>#
1249
- </span> <span class='comment'># @param vs [Symbol] The type of validator.
1250
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
1251
- <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
1230
+ <span class='comment'># :nodoc:
1231
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
1232
+ <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
1233
+ <span class='kw'>end</span>
1234
+
1235
+ <span class='comment'># :nodoc:
1236
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
1237
+ <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
1252
1238
 
1253
- <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
1254
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
1255
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
1256
- <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
1239
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span>
1240
+ <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
1241
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
1242
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
1243
+ <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='label'>separator:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>last_separator:</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
1257
1244
  <span class='kw'>end</span>
1258
1245
 
1259
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
1260
- <span class='kw'>end</span>
1246
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
1247
+ <span class='kw'>end</span>
1261
1248
 
1262
- <span class='comment'># Gets the method required to verify a validator.
1263
- </span> <span class='comment'>#
1264
- </span> <span class='comment'># @param validator [Object] The type of the validator.
1265
- </span> <span class='comment'># @return [String] A method to call to verify the validator.
1266
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
1267
- <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1268
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
1269
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
1270
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
1271
- <span class='kw'>else</span> <span class='kw'>false</span>
1272
- <span class='kw'>end</span>
1249
+ <span class='comment'># :nodoc:
1250
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
1251
+ <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1252
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
1253
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
1254
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
1255
+ <span class='kw'>else</span> <span class='kw'>false</span>
1273
1256
  <span class='kw'>end</span>
1257
+ <span class='kw'>end</span>
1274
1258
  <span class='kw'>end</span></pre>
1275
1259
  </td>
1276
1260
  </tr>
@@ -1321,6 +1305,7 @@
1321
1305
  <pre class="lines">
1322
1306
 
1323
1307
 
1308
+ 41
1324
1309
  42
1325
1310
  43
1326
1311
  44
@@ -1523,19 +1508,10 @@
1523
1508
  241
1524
1509
  242
1525
1510
  243
1526
- 244
1527
- 245
1528
- 246
1529
- 247
1530
- 248
1531
- 249
1532
- 250
1533
- 251
1534
- 252
1535
- 253</pre>
1511
+ 244</pre>
1536
1512
  </td>
1537
1513
  <td>
1538
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 42</span>
1514
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 41</span>
1539
1515
 
1540
1516
  <span class='kw'>class</span> <span class='const'>Option</span>
1541
1517
  <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
@@ -1569,7 +1545,7 @@
1569
1545
  </span> <span class='comment'>#
1570
1546
  </span> <span class='comment'># @param value [String] The short form of this option.
1571
1547
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_short='>short=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1572
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1548
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1573
1549
 
1574
1550
  <span class='comment'># Clean value
1575
1551
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}([a-z0-9])(.*)$</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -1581,7 +1557,7 @@
1581
1557
  </span> <span class='comment'>#
1582
1558
  </span> <span class='comment'># @param value [String] The short form of this option.
1583
1559
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_long='>long=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1584
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1560
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1585
1561
 
1586
1562
  <span class='comment'># Clean value
1587
1563
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}(.+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -1594,7 +1570,7 @@
1594
1570
  </span> <span class='comment'># @param value [String] The validator of this option.
1595
1571
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_validator='>validator=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
1596
1572
  <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span><span class='rparen'>)</span>
1597
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
1573
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
1598
1574
  <span class='ivar'>@validator</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
1599
1575
  <span class='kw'>end</span>
1600
1576
 
@@ -1621,22 +1597,24 @@
1621
1597
 
1622
1598
  <span class='comment'># Returns the meta argument for this option.
1623
1599
  </span> <span class='comment'>#
1624
- </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`, if this option doesn&#39;t require a meta argument.
1600
+ </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`,
1601
+ </span> <span class='comment'># if this option doesn&#39;t require a meta argument.
1625
1602
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
1626
- <span class='id identifier rubyid_requires_argument?'>requires_argument?</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
1603
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_requires_argument?'>requires_argument?</span>
1604
+ <span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
1627
1605
  <span class='kw'>end</span>
1628
1606
 
1629
1607
  <span class='comment'># Get the current default value for this option.
1630
1608
  </span> <span class='comment'>#
1631
1609
  </span> <span class='comment'># @return [Object] The default value for this option.
1632
1610
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_default'>default</span>
1633
- <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span>
1611
+ <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
1634
1612
  <span class='kw'>end</span>
1635
1613
 
1636
1614
  <span class='comment'># Check if the current option has a default value.
1637
1615
  </span> <span class='comment'>#
1638
1616
  </span> <span class='comment'># @return [Boolean] If the current option has a default value.
1639
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
1617
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
1640
1618
  <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
1641
1619
  <span class='kw'>end</span>
1642
1620
 
@@ -1649,7 +1627,7 @@
1649
1627
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
1650
1628
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
1651
1629
 
1652
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
1630
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
1653
1631
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
1654
1632
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
1655
1633
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -1662,10 +1640,9 @@
1662
1640
 
1663
1641
  <span class='comment'># Executes the action associated to this option.
1664
1642
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
1665
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
1666
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
1667
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
1668
- <span class='kw'>end</span>
1643
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1644
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
1645
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
1669
1646
  <span class='kw'>end</span>
1670
1647
 
1671
1648
  <span class='comment'># Checks if this option requires an argument.
@@ -1685,7 +1662,7 @@
1685
1662
  <span class='comment'># Check if this command has a help.
1686
1663
  </span> <span class='comment'>#
1687
1664
  </span> <span class='comment'># @return [Boolean] `true` if this command has a help, `false` otherwise.
1688
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
1665
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
1689
1666
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
1690
1667
  <span class='kw'>end</span>
1691
1668
 
@@ -1697,57 +1674,48 @@
1697
1674
  <span class='kw'>end</span>
1698
1675
 
1699
1676
  <span class='id identifier rubyid_private'>private</span>
1700
- <span class='comment'># Setups the forms of the this option.
1701
- </span> <span class='comment'>#
1702
- </span> <span class='comment'># @param forms [Array] An array of short and long forms for this option. Missing forms will be inferred by the name.
1703
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
1704
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
1705
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
1706
- <span class='kw'>end</span>
1707
1677
 
1708
- <span class='comment'># Setups the settings of the this option.
1709
- </span> <span class='comment'>#
1710
- </span> <span class='comment'># @param options [Hash] The settings for this option.
1711
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1712
- <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
1713
- <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1714
- <span class='kw'>end</span>
1715
- <span class='kw'>end</span>
1678
+ <span class='comment'># :nodoc:
1679
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
1680
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
1681
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
1682
+ <span class='kw'>end</span>
1716
1683
 
1717
- <span class='comment'># Setups the action of the this option.
1718
- </span> <span class='comment'>#
1719
- </span> <span class='comment'># @param action [Proc] The action of this option.
1720
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
1721
- <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
1684
+ <span class='comment'># :nodoc:
1685
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
1686
+ <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
1687
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1722
1688
  <span class='kw'>end</span>
1689
+ <span class='kw'>end</span>
1723
1690
 
1724
- <span class='comment'># Handle failure in setting an option.
1725
- </span> <span class='comment'>#
1726
- </span> <span class='comment'># @param vs [Symbol] The type of validator.
1727
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
1728
- <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
1691
+ <span class='comment'># :nodoc:
1692
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
1693
+ <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
1694
+ <span class='kw'>end</span>
1729
1695
 
1730
- <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
1731
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
1732
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
1733
- <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
1696
+ <span class='comment'># :nodoc:
1697
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
1698
+ <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
1699
+
1700
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span>
1701
+ <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
1702
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
1703
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
1704
+ <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='label'>separator:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>last_separator:</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
1734
1705
  <span class='kw'>end</span>
1735
1706
 
1736
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
1737
- <span class='kw'>end</span>
1707
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
1708
+ <span class='kw'>end</span>
1738
1709
 
1739
- <span class='comment'># Gets the method required to verify a validator.
1740
- </span> <span class='comment'>#
1741
- </span> <span class='comment'># @param validator [Object] The type of the validator.
1742
- </span> <span class='comment'># @return [String] A method to call to verify the validator.
1743
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
1744
- <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1745
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
1746
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
1747
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
1748
- <span class='kw'>else</span> <span class='kw'>false</span>
1749
- <span class='kw'>end</span>
1710
+ <span class='comment'># :nodoc:
1711
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
1712
+ <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
1713
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
1714
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
1715
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
1716
+ <span class='kw'>else</span> <span class='kw'>false</span>
1750
1717
  <span class='kw'>end</span>
1718
+ <span class='kw'>end</span>
1751
1719
  <span class='kw'>end</span></pre>
1752
1720
  </td>
1753
1721
  </tr>
@@ -1798,6 +1766,7 @@
1798
1766
  <pre class="lines">
1799
1767
 
1800
1768
 
1769
+ 41
1801
1770
  42
1802
1771
  43
1803
1772
  44
@@ -2000,19 +1969,10 @@
2000
1969
  241
2001
1970
  242
2002
1971
  243
2003
- 244
2004
- 245
2005
- 246
2006
- 247
2007
- 248
2008
- 249
2009
- 250
2010
- 251
2011
- 252
2012
- 253</pre>
1972
+ 244</pre>
2013
1973
  </td>
2014
1974
  <td>
2015
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 42</span>
1975
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 41</span>
2016
1976
 
2017
1977
  <span class='kw'>class</span> <span class='const'>Option</span>
2018
1978
  <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
@@ -2046,7 +2006,7 @@
2046
2006
  </span> <span class='comment'>#
2047
2007
  </span> <span class='comment'># @param value [String] The short form of this option.
2048
2008
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_short='>short=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
2049
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2009
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2050
2010
 
2051
2011
  <span class='comment'># Clean value
2052
2012
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}([a-z0-9])(.*)$</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -2058,7 +2018,7 @@
2058
2018
  </span> <span class='comment'>#
2059
2019
  </span> <span class='comment'># @param value [String] The short form of this option.
2060
2020
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_long='>long=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
2061
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2021
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2062
2022
 
2063
2023
  <span class='comment'># Clean value
2064
2024
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}(.+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -2071,7 +2031,7 @@
2071
2031
  </span> <span class='comment'># @param value [String] The validator of this option.
2072
2032
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_validator='>validator=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
2073
2033
  <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span><span class='rparen'>)</span>
2074
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
2034
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
2075
2035
  <span class='ivar'>@validator</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
2076
2036
  <span class='kw'>end</span>
2077
2037
 
@@ -2098,22 +2058,24 @@
2098
2058
 
2099
2059
  <span class='comment'># Returns the meta argument for this option.
2100
2060
  </span> <span class='comment'>#
2101
- </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`, if this option doesn&#39;t require a meta argument.
2061
+ </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`,
2062
+ </span> <span class='comment'># if this option doesn&#39;t require a meta argument.
2102
2063
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
2103
- <span class='id identifier rubyid_requires_argument?'>requires_argument?</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
2064
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_requires_argument?'>requires_argument?</span>
2065
+ <span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
2104
2066
  <span class='kw'>end</span>
2105
2067
 
2106
2068
  <span class='comment'># Get the current default value for this option.
2107
2069
  </span> <span class='comment'>#
2108
2070
  </span> <span class='comment'># @return [Object] The default value for this option.
2109
2071
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_default'>default</span>
2110
- <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span>
2072
+ <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
2111
2073
  <span class='kw'>end</span>
2112
2074
 
2113
2075
  <span class='comment'># Check if the current option has a default value.
2114
2076
  </span> <span class='comment'>#
2115
2077
  </span> <span class='comment'># @return [Boolean] If the current option has a default value.
2116
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
2078
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
2117
2079
  <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
2118
2080
  <span class='kw'>end</span>
2119
2081
 
@@ -2126,7 +2088,7 @@
2126
2088
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
2127
2089
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
2128
2090
 
2129
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
2091
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
2130
2092
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
2131
2093
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
2132
2094
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -2139,10 +2101,9 @@
2139
2101
 
2140
2102
  <span class='comment'># Executes the action associated to this option.
2141
2103
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
2142
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
2143
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
2144
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
2145
- <span class='kw'>end</span>
2104
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2105
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
2106
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
2146
2107
  <span class='kw'>end</span>
2147
2108
 
2148
2109
  <span class='comment'># Checks if this option requires an argument.
@@ -2162,7 +2123,7 @@
2162
2123
  <span class='comment'># Check if this command has a help.
2163
2124
  </span> <span class='comment'>#
2164
2125
  </span> <span class='comment'># @return [Boolean] `true` if this command has a help, `false` otherwise.
2165
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
2126
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
2166
2127
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2167
2128
  <span class='kw'>end</span>
2168
2129
 
@@ -2174,57 +2135,48 @@
2174
2135
  <span class='kw'>end</span>
2175
2136
 
2176
2137
  <span class='id identifier rubyid_private'>private</span>
2177
- <span class='comment'># Setups the forms of the this option.
2178
- </span> <span class='comment'>#
2179
- </span> <span class='comment'># @param forms [Array] An array of short and long forms for this option. Missing forms will be inferred by the name.
2180
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
2181
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
2182
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
2183
- <span class='kw'>end</span>
2184
2138
 
2185
- <span class='comment'># Setups the settings of the this option.
2186
- </span> <span class='comment'>#
2187
- </span> <span class='comment'># @param options [Hash] The settings for this option.
2188
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
2189
- <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
2190
- <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
2191
- <span class='kw'>end</span>
2192
- <span class='kw'>end</span>
2139
+ <span class='comment'># :nodoc:
2140
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
2141
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
2142
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
2143
+ <span class='kw'>end</span>
2193
2144
 
2194
- <span class='comment'># Setups the action of the this option.
2195
- </span> <span class='comment'>#
2196
- </span> <span class='comment'># @param action [Proc] The action of this option.
2197
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
2198
- <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
2145
+ <span class='comment'># :nodoc:
2146
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
2147
+ <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
2148
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
2199
2149
  <span class='kw'>end</span>
2150
+ <span class='kw'>end</span>
2151
+
2152
+ <span class='comment'># :nodoc:
2153
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
2154
+ <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
2155
+ <span class='kw'>end</span>
2200
2156
 
2201
- <span class='comment'># Handle failure in setting an option.
2202
- </span> <span class='comment'>#
2203
- </span> <span class='comment'># @param vs [Symbol] The type of validator.
2204
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
2205
- <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
2157
+ <span class='comment'># :nodoc:
2158
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
2159
+ <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
2206
2160
 
2207
- <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
2208
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
2209
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
2210
- <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
2161
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span>
2162
+ <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
2163
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
2164
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
2165
+ <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='label'>separator:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>last_separator:</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
2211
2166
  <span class='kw'>end</span>
2212
2167
 
2213
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
2214
- <span class='kw'>end</span>
2168
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
2169
+ <span class='kw'>end</span>
2215
2170
 
2216
- <span class='comment'># Gets the method required to verify a validator.
2217
- </span> <span class='comment'>#
2218
- </span> <span class='comment'># @param validator [Object] The type of the validator.
2219
- </span> <span class='comment'># @return [String] A method to call to verify the validator.
2220
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
2221
- <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
2222
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
2223
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
2224
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
2225
- <span class='kw'>else</span> <span class='kw'>false</span>
2226
- <span class='kw'>end</span>
2171
+ <span class='comment'># :nodoc:
2172
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
2173
+ <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
2174
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
2175
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
2176
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
2177
+ <span class='kw'>else</span> <span class='kw'>false</span>
2227
2178
  <span class='kw'>end</span>
2179
+ <span class='kw'>end</span>
2228
2180
  <span class='kw'>end</span></pre>
2229
2181
  </td>
2230
2182
  </tr>
@@ -2275,6 +2227,7 @@
2275
2227
  <pre class="lines">
2276
2228
 
2277
2229
 
2230
+ 41
2278
2231
  42
2279
2232
  43
2280
2233
  44
@@ -2477,19 +2430,10 @@
2477
2430
  241
2478
2431
  242
2479
2432
  243
2480
- 244
2481
- 245
2482
- 246
2483
- 247
2484
- 248
2485
- 249
2486
- 250
2487
- 251
2488
- 252
2489
- 253</pre>
2433
+ 244</pre>
2490
2434
  </td>
2491
2435
  <td>
2492
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 42</span>
2436
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 41</span>
2493
2437
 
2494
2438
  <span class='kw'>class</span> <span class='const'>Option</span>
2495
2439
  <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
@@ -2523,7 +2467,7 @@
2523
2467
  </span> <span class='comment'>#
2524
2468
  </span> <span class='comment'># @param value [String] The short form of this option.
2525
2469
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_short='>short=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
2526
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2470
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2527
2471
 
2528
2472
  <span class='comment'># Clean value
2529
2473
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}([a-z0-9])(.*)$</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -2535,7 +2479,7 @@
2535
2479
  </span> <span class='comment'>#
2536
2480
  </span> <span class='comment'># @param value [String] The short form of this option.
2537
2481
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_long='>long=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
2538
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2482
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2539
2483
 
2540
2484
  <span class='comment'># Clean value
2541
2485
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}(.+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -2548,7 +2492,7 @@
2548
2492
  </span> <span class='comment'># @param value [String] The validator of this option.
2549
2493
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_validator='>validator=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
2550
2494
  <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span><span class='rparen'>)</span>
2551
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
2495
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
2552
2496
  <span class='ivar'>@validator</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
2553
2497
  <span class='kw'>end</span>
2554
2498
 
@@ -2575,22 +2519,24 @@
2575
2519
 
2576
2520
  <span class='comment'># Returns the meta argument for this option.
2577
2521
  </span> <span class='comment'>#
2578
- </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`, if this option doesn&#39;t require a meta argument.
2522
+ </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`,
2523
+ </span> <span class='comment'># if this option doesn&#39;t require a meta argument.
2579
2524
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
2580
- <span class='id identifier rubyid_requires_argument?'>requires_argument?</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
2525
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_requires_argument?'>requires_argument?</span>
2526
+ <span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
2581
2527
  <span class='kw'>end</span>
2582
2528
 
2583
2529
  <span class='comment'># Get the current default value for this option.
2584
2530
  </span> <span class='comment'>#
2585
2531
  </span> <span class='comment'># @return [Object] The default value for this option.
2586
2532
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_default'>default</span>
2587
- <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span>
2533
+ <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
2588
2534
  <span class='kw'>end</span>
2589
2535
 
2590
2536
  <span class='comment'># Check if the current option has a default value.
2591
2537
  </span> <span class='comment'>#
2592
2538
  </span> <span class='comment'># @return [Boolean] If the current option has a default value.
2593
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
2539
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
2594
2540
  <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
2595
2541
  <span class='kw'>end</span>
2596
2542
 
@@ -2603,7 +2549,7 @@
2603
2549
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
2604
2550
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
2605
2551
 
2606
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
2552
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
2607
2553
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
2608
2554
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
2609
2555
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -2616,10 +2562,9 @@
2616
2562
 
2617
2563
  <span class='comment'># Executes the action associated to this option.
2618
2564
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
2619
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
2620
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
2621
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
2622
- <span class='kw'>end</span>
2565
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2566
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
2567
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
2623
2568
  <span class='kw'>end</span>
2624
2569
 
2625
2570
  <span class='comment'># Checks if this option requires an argument.
@@ -2639,7 +2584,7 @@
2639
2584
  <span class='comment'># Check if this command has a help.
2640
2585
  </span> <span class='comment'>#
2641
2586
  </span> <span class='comment'># @return [Boolean] `true` if this command has a help, `false` otherwise.
2642
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
2587
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
2643
2588
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2644
2589
  <span class='kw'>end</span>
2645
2590
 
@@ -2651,57 +2596,48 @@
2651
2596
  <span class='kw'>end</span>
2652
2597
 
2653
2598
  <span class='id identifier rubyid_private'>private</span>
2654
- <span class='comment'># Setups the forms of the this option.
2655
- </span> <span class='comment'>#
2656
- </span> <span class='comment'># @param forms [Array] An array of short and long forms for this option. Missing forms will be inferred by the name.
2657
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
2658
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
2659
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
2660
- <span class='kw'>end</span>
2661
2599
 
2662
- <span class='comment'># Setups the settings of the this option.
2663
- </span> <span class='comment'>#
2664
- </span> <span class='comment'># @param options [Hash] The settings for this option.
2665
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
2666
- <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
2667
- <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
2668
- <span class='kw'>end</span>
2669
- <span class='kw'>end</span>
2600
+ <span class='comment'># :nodoc:
2601
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
2602
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
2603
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
2604
+ <span class='kw'>end</span>
2670
2605
 
2671
- <span class='comment'># Setups the action of the this option.
2672
- </span> <span class='comment'>#
2673
- </span> <span class='comment'># @param action [Proc] The action of this option.
2674
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
2675
- <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
2606
+ <span class='comment'># :nodoc:
2607
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
2608
+ <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
2609
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
2676
2610
  <span class='kw'>end</span>
2611
+ <span class='kw'>end</span>
2612
+
2613
+ <span class='comment'># :nodoc:
2614
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
2615
+ <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
2616
+ <span class='kw'>end</span>
2677
2617
 
2678
- <span class='comment'># Handle failure in setting an option.
2679
- </span> <span class='comment'>#
2680
- </span> <span class='comment'># @param vs [Symbol] The type of validator.
2681
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
2682
- <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
2618
+ <span class='comment'># :nodoc:
2619
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
2620
+ <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
2683
2621
 
2684
- <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
2685
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
2686
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
2687
- <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
2622
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span>
2623
+ <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
2624
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
2625
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
2626
+ <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='label'>separator:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>last_separator:</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
2688
2627
  <span class='kw'>end</span>
2689
2628
 
2690
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
2691
- <span class='kw'>end</span>
2629
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
2630
+ <span class='kw'>end</span>
2692
2631
 
2693
- <span class='comment'># Gets the method required to verify a validator.
2694
- </span> <span class='comment'>#
2695
- </span> <span class='comment'># @param validator [Object] The type of the validator.
2696
- </span> <span class='comment'># @return [String] A method to call to verify the validator.
2697
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
2698
- <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
2699
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
2700
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
2701
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
2702
- <span class='kw'>else</span> <span class='kw'>false</span>
2703
- <span class='kw'>end</span>
2632
+ <span class='comment'># :nodoc:
2633
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
2634
+ <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
2635
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
2636
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
2637
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
2638
+ <span class='kw'>else</span> <span class='kw'>false</span>
2704
2639
  <span class='kw'>end</span>
2640
+ <span class='kw'>end</span>
2705
2641
  <span class='kw'>end</span></pre>
2706
2642
  </td>
2707
2643
  </tr>
@@ -2739,7 +2675,8 @@
2739
2675
 
2740
2676
 
2741
2677
  &mdash;
2742
- <div class='inline'><p>Returns the current meta argument for this option (the default value is the option name uppercased) or <code>nil</code>, if this option doesn’t require a meta argument.</p>
2678
+ <div class='inline'><p>Returns the current meta argument for this option (the default value is the option name uppercased) or <code>nil</code>,
2679
+ if this option doesn’t require a meta argument.</p>
2743
2680
  </div>
2744
2681
 
2745
2682
  </li>
@@ -2752,6 +2689,7 @@
2752
2689
  <pre class="lines">
2753
2690
 
2754
2691
 
2692
+ 41
2755
2693
  42
2756
2694
  43
2757
2695
  44
@@ -2954,19 +2892,10 @@
2954
2892
  241
2955
2893
  242
2956
2894
  243
2957
- 244
2958
- 245
2959
- 246
2960
- 247
2961
- 248
2962
- 249
2963
- 250
2964
- 251
2965
- 252
2966
- 253</pre>
2895
+ 244</pre>
2967
2896
  </td>
2968
2897
  <td>
2969
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 42</span>
2898
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 41</span>
2970
2899
 
2971
2900
  <span class='kw'>class</span> <span class='const'>Option</span>
2972
2901
  <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
@@ -3000,7 +2929,7 @@
3000
2929
  </span> <span class='comment'>#
3001
2930
  </span> <span class='comment'># @param value [String] The short form of this option.
3002
2931
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_short='>short=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
3003
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2932
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3004
2933
 
3005
2934
  <span class='comment'># Clean value
3006
2935
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}([a-z0-9])(.*)$</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -3012,7 +2941,7 @@
3012
2941
  </span> <span class='comment'>#
3013
2942
  </span> <span class='comment'># @param value [String] The short form of this option.
3014
2943
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_long='>long=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
3015
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
2944
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3016
2945
 
3017
2946
  <span class='comment'># Clean value
3018
2947
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}(.+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -3025,7 +2954,7 @@
3025
2954
  </span> <span class='comment'># @param value [String] The validator of this option.
3026
2955
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_validator='>validator=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
3027
2956
  <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span><span class='rparen'>)</span>
3028
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
2957
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
3029
2958
  <span class='ivar'>@validator</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
3030
2959
  <span class='kw'>end</span>
3031
2960
 
@@ -3052,22 +2981,24 @@
3052
2981
 
3053
2982
  <span class='comment'># Returns the meta argument for this option.
3054
2983
  </span> <span class='comment'>#
3055
- </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`, if this option doesn&#39;t require a meta argument.
2984
+ </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`,
2985
+ </span> <span class='comment'># if this option doesn&#39;t require a meta argument.
3056
2986
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
3057
- <span class='id identifier rubyid_requires_argument?'>requires_argument?</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
2987
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_requires_argument?'>requires_argument?</span>
2988
+ <span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
3058
2989
  <span class='kw'>end</span>
3059
2990
 
3060
2991
  <span class='comment'># Get the current default value for this option.
3061
2992
  </span> <span class='comment'>#
3062
2993
  </span> <span class='comment'># @return [Object] The default value for this option.
3063
2994
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_default'>default</span>
3064
- <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span>
2995
+ <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
3065
2996
  <span class='kw'>end</span>
3066
2997
 
3067
2998
  <span class='comment'># Check if the current option has a default value.
3068
2999
  </span> <span class='comment'>#
3069
3000
  </span> <span class='comment'># @return [Boolean] If the current option has a default value.
3070
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
3001
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
3071
3002
  <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
3072
3003
  <span class='kw'>end</span>
3073
3004
 
@@ -3080,7 +3011,7 @@
3080
3011
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
3081
3012
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
3082
3013
 
3083
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
3014
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
3084
3015
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
3085
3016
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
3086
3017
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -3093,10 +3024,9 @@
3093
3024
 
3094
3025
  <span class='comment'># Executes the action associated to this option.
3095
3026
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
3096
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
3097
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
3098
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
3099
- <span class='kw'>end</span>
3027
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3028
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
3029
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
3100
3030
  <span class='kw'>end</span>
3101
3031
 
3102
3032
  <span class='comment'># Checks if this option requires an argument.
@@ -3116,7 +3046,7 @@
3116
3046
  <span class='comment'># Check if this command has a help.
3117
3047
  </span> <span class='comment'>#
3118
3048
  </span> <span class='comment'># @return [Boolean] `true` if this command has a help, `false` otherwise.
3119
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
3049
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
3120
3050
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3121
3051
  <span class='kw'>end</span>
3122
3052
 
@@ -3128,57 +3058,48 @@
3128
3058
  <span class='kw'>end</span>
3129
3059
 
3130
3060
  <span class='id identifier rubyid_private'>private</span>
3131
- <span class='comment'># Setups the forms of the this option.
3132
- </span> <span class='comment'>#
3133
- </span> <span class='comment'># @param forms [Array] An array of short and long forms for this option. Missing forms will be inferred by the name.
3134
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
3135
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
3136
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
3137
- <span class='kw'>end</span>
3138
3061
 
3139
- <span class='comment'># Setups the settings of the this option.
3140
- </span> <span class='comment'>#
3141
- </span> <span class='comment'># @param options [Hash] The settings for this option.
3142
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
3143
- <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
3144
- <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
3145
- <span class='kw'>end</span>
3146
- <span class='kw'>end</span>
3062
+ <span class='comment'># :nodoc:
3063
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
3064
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
3065
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
3066
+ <span class='kw'>end</span>
3147
3067
 
3148
- <span class='comment'># Setups the action of the this option.
3149
- </span> <span class='comment'>#
3150
- </span> <span class='comment'># @param action [Proc] The action of this option.
3151
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
3152
- <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
3068
+ <span class='comment'># :nodoc:
3069
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
3070
+ <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
3071
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
3153
3072
  <span class='kw'>end</span>
3073
+ <span class='kw'>end</span>
3074
+
3075
+ <span class='comment'># :nodoc:
3076
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
3077
+ <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
3078
+ <span class='kw'>end</span>
3154
3079
 
3155
- <span class='comment'># Handle failure in setting an option.
3156
- </span> <span class='comment'>#
3157
- </span> <span class='comment'># @param vs [Symbol] The type of validator.
3158
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
3159
- <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
3080
+ <span class='comment'># :nodoc:
3081
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
3082
+ <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
3160
3083
 
3161
- <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
3162
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
3163
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
3164
- <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
3084
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span>
3085
+ <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
3086
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
3087
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
3088
+ <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='label'>separator:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>last_separator:</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
3165
3089
  <span class='kw'>end</span>
3166
3090
 
3167
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
3168
- <span class='kw'>end</span>
3091
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
3092
+ <span class='kw'>end</span>
3169
3093
 
3170
- <span class='comment'># Gets the method required to verify a validator.
3171
- </span> <span class='comment'>#
3172
- </span> <span class='comment'># @param validator [Object] The type of the validator.
3173
- </span> <span class='comment'># @return [String] A method to call to verify the validator.
3174
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
3175
- <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
3176
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
3177
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
3178
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
3179
- <span class='kw'>else</span> <span class='kw'>false</span>
3180
- <span class='kw'>end</span>
3094
+ <span class='comment'># :nodoc:
3095
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
3096
+ <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
3097
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
3098
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
3099
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
3100
+ <span class='kw'>else</span> <span class='kw'>false</span>
3181
3101
  <span class='kw'>end</span>
3102
+ <span class='kw'>end</span>
3182
3103
  <span class='kw'>end</span></pre>
3183
3104
  </td>
3184
3105
  </tr>
@@ -3229,6 +3150,7 @@
3229
3150
  <pre class="lines">
3230
3151
 
3231
3152
 
3153
+ 41
3232
3154
  42
3233
3155
  43
3234
3156
  44
@@ -3431,19 +3353,10 @@
3431
3353
  241
3432
3354
  242
3433
3355
  243
3434
- 244
3435
- 245
3436
- 246
3437
- 247
3438
- 248
3439
- 249
3440
- 250
3441
- 251
3442
- 252
3443
- 253</pre>
3356
+ 244</pre>
3444
3357
  </td>
3445
3358
  <td>
3446
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 42</span>
3359
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 41</span>
3447
3360
 
3448
3361
  <span class='kw'>class</span> <span class='const'>Option</span>
3449
3362
  <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
@@ -3477,7 +3390,7 @@
3477
3390
  </span> <span class='comment'>#
3478
3391
  </span> <span class='comment'># @param value [String] The short form of this option.
3479
3392
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_short='>short=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
3480
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3393
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3481
3394
 
3482
3395
  <span class='comment'># Clean value
3483
3396
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}([a-z0-9])(.*)$</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -3489,7 +3402,7 @@
3489
3402
  </span> <span class='comment'>#
3490
3403
  </span> <span class='comment'># @param value [String] The short form of this option.
3491
3404
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_long='>long=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
3492
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3405
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3493
3406
 
3494
3407
  <span class='comment'># Clean value
3495
3408
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}(.+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -3502,7 +3415,7 @@
3502
3415
  </span> <span class='comment'># @param value [String] The validator of this option.
3503
3416
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_validator='>validator=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
3504
3417
  <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span><span class='rparen'>)</span>
3505
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
3418
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
3506
3419
  <span class='ivar'>@validator</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
3507
3420
  <span class='kw'>end</span>
3508
3421
 
@@ -3529,22 +3442,24 @@
3529
3442
 
3530
3443
  <span class='comment'># Returns the meta argument for this option.
3531
3444
  </span> <span class='comment'>#
3532
- </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`, if this option doesn&#39;t require a meta argument.
3445
+ </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`,
3446
+ </span> <span class='comment'># if this option doesn&#39;t require a meta argument.
3533
3447
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
3534
- <span class='id identifier rubyid_requires_argument?'>requires_argument?</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
3448
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_requires_argument?'>requires_argument?</span>
3449
+ <span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
3535
3450
  <span class='kw'>end</span>
3536
3451
 
3537
3452
  <span class='comment'># Get the current default value for this option.
3538
3453
  </span> <span class='comment'>#
3539
3454
  </span> <span class='comment'># @return [Object] The default value for this option.
3540
3455
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_default'>default</span>
3541
- <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span>
3456
+ <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
3542
3457
  <span class='kw'>end</span>
3543
3458
 
3544
3459
  <span class='comment'># Check if the current option has a default value.
3545
3460
  </span> <span class='comment'>#
3546
3461
  </span> <span class='comment'># @return [Boolean] If the current option has a default value.
3547
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
3462
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
3548
3463
  <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
3549
3464
  <span class='kw'>end</span>
3550
3465
 
@@ -3557,7 +3472,7 @@
3557
3472
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
3558
3473
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
3559
3474
 
3560
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
3475
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
3561
3476
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
3562
3477
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
3563
3478
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -3570,10 +3485,9 @@
3570
3485
 
3571
3486
  <span class='comment'># Executes the action associated to this option.
3572
3487
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
3573
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
3574
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
3575
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
3576
- <span class='kw'>end</span>
3488
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3489
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
3490
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
3577
3491
  <span class='kw'>end</span>
3578
3492
 
3579
3493
  <span class='comment'># Checks if this option requires an argument.
@@ -3593,7 +3507,7 @@
3593
3507
  <span class='comment'># Check if this command has a help.
3594
3508
  </span> <span class='comment'>#
3595
3509
  </span> <span class='comment'># @return [Boolean] `true` if this command has a help, `false` otherwise.
3596
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
3510
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
3597
3511
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3598
3512
  <span class='kw'>end</span>
3599
3513
 
@@ -3605,57 +3519,48 @@
3605
3519
  <span class='kw'>end</span>
3606
3520
 
3607
3521
  <span class='id identifier rubyid_private'>private</span>
3608
- <span class='comment'># Setups the forms of the this option.
3609
- </span> <span class='comment'>#
3610
- </span> <span class='comment'># @param forms [Array] An array of short and long forms for this option. Missing forms will be inferred by the name.
3611
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
3612
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
3613
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
3614
- <span class='kw'>end</span>
3615
3522
 
3616
- <span class='comment'># Setups the settings of the this option.
3617
- </span> <span class='comment'>#
3618
- </span> <span class='comment'># @param options [Hash] The settings for this option.
3619
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
3620
- <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
3621
- <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
3622
- <span class='kw'>end</span>
3623
- <span class='kw'>end</span>
3523
+ <span class='comment'># :nodoc:
3524
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
3525
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
3526
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
3527
+ <span class='kw'>end</span>
3624
3528
 
3625
- <span class='comment'># Setups the action of the this option.
3626
- </span> <span class='comment'>#
3627
- </span> <span class='comment'># @param action [Proc] The action of this option.
3628
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
3629
- <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
3529
+ <span class='comment'># :nodoc:
3530
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
3531
+ <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
3532
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
3630
3533
  <span class='kw'>end</span>
3534
+ <span class='kw'>end</span>
3535
+
3536
+ <span class='comment'># :nodoc:
3537
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
3538
+ <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
3539
+ <span class='kw'>end</span>
3631
3540
 
3632
- <span class='comment'># Handle failure in setting an option.
3633
- </span> <span class='comment'>#
3634
- </span> <span class='comment'># @param vs [Symbol] The type of validator.
3635
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
3636
- <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
3541
+ <span class='comment'># :nodoc:
3542
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
3543
+ <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
3637
3544
 
3638
- <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
3639
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
3640
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
3641
- <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
3545
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span>
3546
+ <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
3547
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
3548
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
3549
+ <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='label'>separator:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>last_separator:</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
3642
3550
  <span class='kw'>end</span>
3643
3551
 
3644
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
3645
- <span class='kw'>end</span>
3552
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
3553
+ <span class='kw'>end</span>
3646
3554
 
3647
- <span class='comment'># Gets the method required to verify a validator.
3648
- </span> <span class='comment'>#
3649
- </span> <span class='comment'># @param validator [Object] The type of the validator.
3650
- </span> <span class='comment'># @return [String] A method to call to verify the validator.
3651
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
3652
- <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
3653
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
3654
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
3655
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
3656
- <span class='kw'>else</span> <span class='kw'>false</span>
3657
- <span class='kw'>end</span>
3555
+ <span class='comment'># :nodoc:
3556
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
3557
+ <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
3558
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
3559
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
3560
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
3561
+ <span class='kw'>else</span> <span class='kw'>false</span>
3658
3562
  <span class='kw'>end</span>
3563
+ <span class='kw'>end</span>
3659
3564
  <span class='kw'>end</span></pre>
3660
3565
  </td>
3661
3566
  </tr>
@@ -3706,6 +3611,7 @@
3706
3611
  <pre class="lines">
3707
3612
 
3708
3613
 
3614
+ 41
3709
3615
  42
3710
3616
  43
3711
3617
  44
@@ -3908,19 +3814,10 @@
3908
3814
  241
3909
3815
  242
3910
3816
  243
3911
- 244
3912
- 245
3913
- 246
3914
- 247
3915
- 248
3916
- 249
3917
- 250
3918
- 251
3919
- 252
3920
- 253</pre>
3817
+ 244</pre>
3921
3818
  </td>
3922
3819
  <td>
3923
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 42</span>
3820
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 41</span>
3924
3821
 
3925
3822
  <span class='kw'>class</span> <span class='const'>Option</span>
3926
3823
  <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
@@ -3954,7 +3851,7 @@
3954
3851
  </span> <span class='comment'>#
3955
3852
  </span> <span class='comment'># @param value [String] The short form of this option.
3956
3853
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_short='>short=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
3957
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3854
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3958
3855
 
3959
3856
  <span class='comment'># Clean value
3960
3857
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}([a-z0-9])(.*)$</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -3966,7 +3863,7 @@
3966
3863
  </span> <span class='comment'>#
3967
3864
  </span> <span class='comment'># @param value [String] The short form of this option.
3968
3865
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_long='>long=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
3969
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3866
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3970
3867
 
3971
3868
  <span class='comment'># Clean value
3972
3869
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}(.+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -3979,7 +3876,7 @@
3979
3876
  </span> <span class='comment'># @param value [String] The validator of this option.
3980
3877
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_validator='>validator=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
3981
3878
  <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span><span class='rparen'>)</span>
3982
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
3879
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
3983
3880
  <span class='ivar'>@validator</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
3984
3881
  <span class='kw'>end</span>
3985
3882
 
@@ -4006,22 +3903,24 @@
4006
3903
 
4007
3904
  <span class='comment'># Returns the meta argument for this option.
4008
3905
  </span> <span class='comment'>#
4009
- </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`, if this option doesn&#39;t require a meta argument.
3906
+ </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`,
3907
+ </span> <span class='comment'># if this option doesn&#39;t require a meta argument.
4010
3908
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
4011
- <span class='id identifier rubyid_requires_argument?'>requires_argument?</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
3909
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_requires_argument?'>requires_argument?</span>
3910
+ <span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
4012
3911
  <span class='kw'>end</span>
4013
3912
 
4014
3913
  <span class='comment'># Get the current default value for this option.
4015
3914
  </span> <span class='comment'>#
4016
3915
  </span> <span class='comment'># @return [Object] The default value for this option.
4017
3916
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_default'>default</span>
4018
- <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span>
3917
+ <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
4019
3918
  <span class='kw'>end</span>
4020
3919
 
4021
3920
  <span class='comment'># Check if the current option has a default value.
4022
3921
  </span> <span class='comment'>#
4023
3922
  </span> <span class='comment'># @return [Boolean] If the current option has a default value.
4024
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
3923
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
4025
3924
  <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
4026
3925
  <span class='kw'>end</span>
4027
3926
 
@@ -4034,7 +3933,7 @@
4034
3933
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
4035
3934
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
4036
3935
 
4037
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
3936
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
4038
3937
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
4039
3938
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
4040
3939
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -4047,10 +3946,9 @@
4047
3946
 
4048
3947
  <span class='comment'># Executes the action associated to this option.
4049
3948
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
4050
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
4051
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
4052
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
4053
- <span class='kw'>end</span>
3949
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
3950
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
3951
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
4054
3952
  <span class='kw'>end</span>
4055
3953
 
4056
3954
  <span class='comment'># Checks if this option requires an argument.
@@ -4070,7 +3968,7 @@
4070
3968
  <span class='comment'># Check if this command has a help.
4071
3969
  </span> <span class='comment'>#
4072
3970
  </span> <span class='comment'># @return [Boolean] `true` if this command has a help, `false` otherwise.
4073
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
3971
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
4074
3972
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
4075
3973
  <span class='kw'>end</span>
4076
3974
 
@@ -4082,57 +3980,48 @@
4082
3980
  <span class='kw'>end</span>
4083
3981
 
4084
3982
  <span class='id identifier rubyid_private'>private</span>
4085
- <span class='comment'># Setups the forms of the this option.
4086
- </span> <span class='comment'>#
4087
- </span> <span class='comment'># @param forms [Array] An array of short and long forms for this option. Missing forms will be inferred by the name.
4088
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
4089
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
4090
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
4091
- <span class='kw'>end</span>
4092
3983
 
4093
- <span class='comment'># Setups the settings of the this option.
4094
- </span> <span class='comment'>#
4095
- </span> <span class='comment'># @param options [Hash] The settings for this option.
4096
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
4097
- <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
4098
- <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
4099
- <span class='kw'>end</span>
4100
- <span class='kw'>end</span>
3984
+ <span class='comment'># :nodoc:
3985
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
3986
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
3987
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
3988
+ <span class='kw'>end</span>
4101
3989
 
4102
- <span class='comment'># Setups the action of the this option.
4103
- </span> <span class='comment'>#
4104
- </span> <span class='comment'># @param action [Proc] The action of this option.
4105
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
4106
- <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
3990
+ <span class='comment'># :nodoc:
3991
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
3992
+ <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
3993
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
4107
3994
  <span class='kw'>end</span>
3995
+ <span class='kw'>end</span>
3996
+
3997
+ <span class='comment'># :nodoc:
3998
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
3999
+ <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
4000
+ <span class='kw'>end</span>
4108
4001
 
4109
- <span class='comment'># Handle failure in setting an option.
4110
- </span> <span class='comment'>#
4111
- </span> <span class='comment'># @param vs [Symbol] The type of validator.
4112
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
4113
- <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
4002
+ <span class='comment'># :nodoc:
4003
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
4004
+ <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
4114
4005
 
4115
- <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
4116
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
4117
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
4118
- <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
4006
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span>
4007
+ <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
4008
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
4009
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
4010
+ <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='label'>separator:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>last_separator:</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
4119
4011
  <span class='kw'>end</span>
4120
4012
 
4121
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
4122
- <span class='kw'>end</span>
4013
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
4014
+ <span class='kw'>end</span>
4123
4015
 
4124
- <span class='comment'># Gets the method required to verify a validator.
4125
- </span> <span class='comment'>#
4126
- </span> <span class='comment'># @param validator [Object] The type of the validator.
4127
- </span> <span class='comment'># @return [String] A method to call to verify the validator.
4128
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
4129
- <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
4130
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
4131
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
4132
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
4133
- <span class='kw'>else</span> <span class='kw'>false</span>
4134
- <span class='kw'>end</span>
4016
+ <span class='comment'># :nodoc:
4017
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
4018
+ <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
4019
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
4020
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
4021
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
4022
+ <span class='kw'>else</span> <span class='kw'>false</span>
4135
4023
  <span class='kw'>end</span>
4024
+ <span class='kw'>end</span>
4136
4025
  <span class='kw'>end</span></pre>
4137
4026
  </td>
4138
4027
  </tr>
@@ -4183,6 +4072,7 @@
4183
4072
  <pre class="lines">
4184
4073
 
4185
4074
 
4075
+ 41
4186
4076
  42
4187
4077
  43
4188
4078
  44
@@ -4385,19 +4275,10 @@
4385
4275
  241
4386
4276
  242
4387
4277
  243
4388
- 244
4389
- 245
4390
- 246
4391
- 247
4392
- 248
4393
- 249
4394
- 250
4395
- 251
4396
- 252
4397
- 253</pre>
4278
+ 244</pre>
4398
4279
  </td>
4399
4280
  <td>
4400
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 42</span>
4281
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 41</span>
4401
4282
 
4402
4283
  <span class='kw'>class</span> <span class='const'>Option</span>
4403
4284
  <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
@@ -4431,7 +4312,7 @@
4431
4312
  </span> <span class='comment'>#
4432
4313
  </span> <span class='comment'># @param value [String] The short form of this option.
4433
4314
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_short='>short=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
4434
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
4315
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
4435
4316
 
4436
4317
  <span class='comment'># Clean value
4437
4318
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}([a-z0-9])(.*)$</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -4443,7 +4324,7 @@
4443
4324
  </span> <span class='comment'>#
4444
4325
  </span> <span class='comment'># @param value [String] The short form of this option.
4445
4326
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_long='>long=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
4446
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
4327
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
4447
4328
 
4448
4329
  <span class='comment'># Clean value
4449
4330
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}(.+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -4456,7 +4337,7 @@
4456
4337
  </span> <span class='comment'># @param value [String] The validator of this option.
4457
4338
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_validator='>validator=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
4458
4339
  <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span><span class='rparen'>)</span>
4459
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
4340
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
4460
4341
  <span class='ivar'>@validator</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
4461
4342
  <span class='kw'>end</span>
4462
4343
 
@@ -4483,22 +4364,24 @@
4483
4364
 
4484
4365
  <span class='comment'># Returns the meta argument for this option.
4485
4366
  </span> <span class='comment'>#
4486
- </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`, if this option doesn&#39;t require a meta argument.
4367
+ </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`,
4368
+ </span> <span class='comment'># if this option doesn&#39;t require a meta argument.
4487
4369
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
4488
- <span class='id identifier rubyid_requires_argument?'>requires_argument?</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
4370
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_requires_argument?'>requires_argument?</span>
4371
+ <span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
4489
4372
  <span class='kw'>end</span>
4490
4373
 
4491
4374
  <span class='comment'># Get the current default value for this option.
4492
4375
  </span> <span class='comment'>#
4493
4376
  </span> <span class='comment'># @return [Object] The default value for this option.
4494
4377
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_default'>default</span>
4495
- <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span>
4378
+ <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
4496
4379
  <span class='kw'>end</span>
4497
4380
 
4498
4381
  <span class='comment'># Check if the current option has a default value.
4499
4382
  </span> <span class='comment'>#
4500
4383
  </span> <span class='comment'># @return [Boolean] If the current option has a default value.
4501
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
4384
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
4502
4385
  <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
4503
4386
  <span class='kw'>end</span>
4504
4387
 
@@ -4511,7 +4394,7 @@
4511
4394
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
4512
4395
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
4513
4396
 
4514
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
4397
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
4515
4398
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
4516
4399
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
4517
4400
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -4524,10 +4407,9 @@
4524
4407
 
4525
4408
  <span class='comment'># Executes the action associated to this option.
4526
4409
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
4527
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
4528
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
4529
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
4530
- <span class='kw'>end</span>
4410
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
4411
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
4412
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
4531
4413
  <span class='kw'>end</span>
4532
4414
 
4533
4415
  <span class='comment'># Checks if this option requires an argument.
@@ -4547,7 +4429,7 @@
4547
4429
  <span class='comment'># Check if this command has a help.
4548
4430
  </span> <span class='comment'>#
4549
4431
  </span> <span class='comment'># @return [Boolean] `true` if this command has a help, `false` otherwise.
4550
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
4432
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
4551
4433
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
4552
4434
  <span class='kw'>end</span>
4553
4435
 
@@ -4559,57 +4441,48 @@
4559
4441
  <span class='kw'>end</span>
4560
4442
 
4561
4443
  <span class='id identifier rubyid_private'>private</span>
4562
- <span class='comment'># Setups the forms of the this option.
4563
- </span> <span class='comment'>#
4564
- </span> <span class='comment'># @param forms [Array] An array of short and long forms for this option. Missing forms will be inferred by the name.
4565
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
4566
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
4567
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
4568
- <span class='kw'>end</span>
4569
4444
 
4570
- <span class='comment'># Setups the settings of the this option.
4571
- </span> <span class='comment'>#
4572
- </span> <span class='comment'># @param options [Hash] The settings for this option.
4573
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
4574
- <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
4575
- <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
4576
- <span class='kw'>end</span>
4577
- <span class='kw'>end</span>
4445
+ <span class='comment'># :nodoc:
4446
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
4447
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
4448
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
4449
+ <span class='kw'>end</span>
4578
4450
 
4579
- <span class='comment'># Setups the action of the this option.
4580
- </span> <span class='comment'>#
4581
- </span> <span class='comment'># @param action [Proc] The action of this option.
4582
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
4583
- <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
4451
+ <span class='comment'># :nodoc:
4452
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
4453
+ <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
4454
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
4584
4455
  <span class='kw'>end</span>
4456
+ <span class='kw'>end</span>
4585
4457
 
4586
- <span class='comment'># Handle failure in setting an option.
4587
- </span> <span class='comment'>#
4588
- </span> <span class='comment'># @param vs [Symbol] The type of validator.
4589
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
4590
- <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
4458
+ <span class='comment'># :nodoc:
4459
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
4460
+ <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
4461
+ <span class='kw'>end</span>
4462
+
4463
+ <span class='comment'># :nodoc:
4464
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
4465
+ <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
4591
4466
 
4592
- <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
4593
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
4594
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
4595
- <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
4467
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span>
4468
+ <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
4469
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
4470
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
4471
+ <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='label'>separator:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>last_separator:</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
4596
4472
  <span class='kw'>end</span>
4597
4473
 
4598
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
4599
- <span class='kw'>end</span>
4474
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
4475
+ <span class='kw'>end</span>
4600
4476
 
4601
- <span class='comment'># Gets the method required to verify a validator.
4602
- </span> <span class='comment'>#
4603
- </span> <span class='comment'># @param validator [Object] The type of the validator.
4604
- </span> <span class='comment'># @return [String] A method to call to verify the validator.
4605
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
4606
- <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
4607
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
4608
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
4609
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
4610
- <span class='kw'>else</span> <span class='kw'>false</span>
4611
- <span class='kw'>end</span>
4477
+ <span class='comment'># :nodoc:
4478
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
4479
+ <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
4480
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
4481
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
4482
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
4483
+ <span class='kw'>else</span> <span class='kw'>false</span>
4612
4484
  <span class='kw'>end</span>
4485
+ <span class='kw'>end</span>
4613
4486
  <span class='kw'>end</span></pre>
4614
4487
  </td>
4615
4488
  </tr>
@@ -4660,6 +4533,7 @@
4660
4533
  <pre class="lines">
4661
4534
 
4662
4535
 
4536
+ 41
4663
4537
  42
4664
4538
  43
4665
4539
  44
@@ -4862,19 +4736,10 @@
4862
4736
  241
4863
4737
  242
4864
4738
  243
4865
- 244
4866
- 245
4867
- 246
4868
- 247
4869
- 248
4870
- 249
4871
- 250
4872
- 251
4873
- 252
4874
- 253</pre>
4739
+ 244</pre>
4875
4740
  </td>
4876
4741
  <td>
4877
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 42</span>
4742
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 41</span>
4878
4743
 
4879
4744
  <span class='kw'>class</span> <span class='const'>Option</span>
4880
4745
  <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
@@ -4908,7 +4773,7 @@
4908
4773
  </span> <span class='comment'>#
4909
4774
  </span> <span class='comment'># @param value [String] The short form of this option.
4910
4775
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_short='>short=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
4911
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
4776
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
4912
4777
 
4913
4778
  <span class='comment'># Clean value
4914
4779
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}([a-z0-9])(.*)$</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -4920,7 +4785,7 @@
4920
4785
  </span> <span class='comment'>#
4921
4786
  </span> <span class='comment'># @param value [String] The short form of this option.
4922
4787
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_long='>long=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
4923
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
4788
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
4924
4789
 
4925
4790
  <span class='comment'># Clean value
4926
4791
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}(.+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -4933,7 +4798,7 @@
4933
4798
  </span> <span class='comment'># @param value [String] The validator of this option.
4934
4799
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_validator='>validator=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
4935
4800
  <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span><span class='rparen'>)</span>
4936
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
4801
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
4937
4802
  <span class='ivar'>@validator</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
4938
4803
  <span class='kw'>end</span>
4939
4804
 
@@ -4960,22 +4825,24 @@
4960
4825
 
4961
4826
  <span class='comment'># Returns the meta argument for this option.
4962
4827
  </span> <span class='comment'>#
4963
- </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`, if this option doesn&#39;t require a meta argument.
4828
+ </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`,
4829
+ </span> <span class='comment'># if this option doesn&#39;t require a meta argument.
4964
4830
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
4965
- <span class='id identifier rubyid_requires_argument?'>requires_argument?</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
4831
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_requires_argument?'>requires_argument?</span>
4832
+ <span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
4966
4833
  <span class='kw'>end</span>
4967
4834
 
4968
4835
  <span class='comment'># Get the current default value for this option.
4969
4836
  </span> <span class='comment'>#
4970
4837
  </span> <span class='comment'># @return [Object] The default value for this option.
4971
4838
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_default'>default</span>
4972
- <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span>
4839
+ <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
4973
4840
  <span class='kw'>end</span>
4974
4841
 
4975
4842
  <span class='comment'># Check if the current option has a default value.
4976
4843
  </span> <span class='comment'>#
4977
4844
  </span> <span class='comment'># @return [Boolean] If the current option has a default value.
4978
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
4845
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
4979
4846
  <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
4980
4847
  <span class='kw'>end</span>
4981
4848
 
@@ -4988,7 +4855,7 @@
4988
4855
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
4989
4856
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
4990
4857
 
4991
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
4858
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
4992
4859
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
4993
4860
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
4994
4861
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -5001,10 +4868,9 @@
5001
4868
 
5002
4869
  <span class='comment'># Executes the action associated to this option.
5003
4870
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
5004
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
5005
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
5006
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
5007
- <span class='kw'>end</span>
4871
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
4872
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
4873
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
5008
4874
  <span class='kw'>end</span>
5009
4875
 
5010
4876
  <span class='comment'># Checks if this option requires an argument.
@@ -5024,7 +4890,7 @@
5024
4890
  <span class='comment'># Check if this command has a help.
5025
4891
  </span> <span class='comment'>#
5026
4892
  </span> <span class='comment'># @return [Boolean] `true` if this command has a help, `false` otherwise.
5027
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
4893
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
5028
4894
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5029
4895
  <span class='kw'>end</span>
5030
4896
 
@@ -5036,57 +4902,48 @@
5036
4902
  <span class='kw'>end</span>
5037
4903
 
5038
4904
  <span class='id identifier rubyid_private'>private</span>
5039
- <span class='comment'># Setups the forms of the this option.
5040
- </span> <span class='comment'>#
5041
- </span> <span class='comment'># @param forms [Array] An array of short and long forms for this option. Missing forms will be inferred by the name.
5042
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
5043
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
5044
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
5045
- <span class='kw'>end</span>
5046
4905
 
5047
- <span class='comment'># Setups the settings of the this option.
5048
- </span> <span class='comment'>#
5049
- </span> <span class='comment'># @param options [Hash] The settings for this option.
5050
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
5051
- <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
5052
- <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
5053
- <span class='kw'>end</span>
5054
- <span class='kw'>end</span>
4906
+ <span class='comment'># :nodoc:
4907
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
4908
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
4909
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
4910
+ <span class='kw'>end</span>
5055
4911
 
5056
- <span class='comment'># Setups the action of the this option.
5057
- </span> <span class='comment'>#
5058
- </span> <span class='comment'># @param action [Proc] The action of this option.
5059
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
5060
- <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
4912
+ <span class='comment'># :nodoc:
4913
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
4914
+ <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
4915
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
5061
4916
  <span class='kw'>end</span>
4917
+ <span class='kw'>end</span>
4918
+
4919
+ <span class='comment'># :nodoc:
4920
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
4921
+ <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
4922
+ <span class='kw'>end</span>
5062
4923
 
5063
- <span class='comment'># Handle failure in setting an option.
5064
- </span> <span class='comment'>#
5065
- </span> <span class='comment'># @param vs [Symbol] The type of validator.
5066
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
5067
- <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
4924
+ <span class='comment'># :nodoc:
4925
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
4926
+ <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
5068
4927
 
5069
- <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
5070
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
5071
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
5072
- <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
4928
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span>
4929
+ <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
4930
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
4931
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
4932
+ <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='label'>separator:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>last_separator:</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
5073
4933
  <span class='kw'>end</span>
5074
4934
 
5075
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
5076
- <span class='kw'>end</span>
4935
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
4936
+ <span class='kw'>end</span>
5077
4937
 
5078
- <span class='comment'># Gets the method required to verify a validator.
5079
- </span> <span class='comment'>#
5080
- </span> <span class='comment'># @param validator [Object] The type of the validator.
5081
- </span> <span class='comment'># @return [String] A method to call to verify the validator.
5082
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
5083
- <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
5084
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
5085
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
5086
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
5087
- <span class='kw'>else</span> <span class='kw'>false</span>
5088
- <span class='kw'>end</span>
4938
+ <span class='comment'># :nodoc:
4939
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
4940
+ <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
4941
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
4942
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
4943
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
4944
+ <span class='kw'>else</span> <span class='kw'>false</span>
5089
4945
  <span class='kw'>end</span>
4946
+ <span class='kw'>end</span>
5090
4947
  <span class='kw'>end</span></pre>
5091
4948
  </td>
5092
4949
  </tr>
@@ -5137,6 +4994,7 @@
5137
4994
  <pre class="lines">
5138
4995
 
5139
4996
 
4997
+ 41
5140
4998
  42
5141
4999
  43
5142
5000
  44
@@ -5339,19 +5197,10 @@
5339
5197
  241
5340
5198
  242
5341
5199
  243
5342
- 244
5343
- 245
5344
- 246
5345
- 247
5346
- 248
5347
- 249
5348
- 250
5349
- 251
5350
- 252
5351
- 253</pre>
5200
+ 244</pre>
5352
5201
  </td>
5353
5202
  <td>
5354
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 42</span>
5203
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 41</span>
5355
5204
 
5356
5205
  <span class='kw'>class</span> <span class='const'>Option</span>
5357
5206
  <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
@@ -5385,7 +5234,7 @@
5385
5234
  </span> <span class='comment'>#
5386
5235
  </span> <span class='comment'># @param value [String] The short form of this option.
5387
5236
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_short='>short=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
5388
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5237
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5389
5238
 
5390
5239
  <span class='comment'># Clean value
5391
5240
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}([a-z0-9])(.*)$</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -5397,7 +5246,7 @@
5397
5246
  </span> <span class='comment'>#
5398
5247
  </span> <span class='comment'># @param value [String] The short form of this option.
5399
5248
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_long='>long=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
5400
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5249
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5401
5250
 
5402
5251
  <span class='comment'># Clean value
5403
5252
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}(.+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -5410,7 +5259,7 @@
5410
5259
  </span> <span class='comment'># @param value [String] The validator of this option.
5411
5260
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_validator='>validator=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
5412
5261
  <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span><span class='rparen'>)</span>
5413
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
5262
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
5414
5263
  <span class='ivar'>@validator</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
5415
5264
  <span class='kw'>end</span>
5416
5265
 
@@ -5437,22 +5286,24 @@
5437
5286
 
5438
5287
  <span class='comment'># Returns the meta argument for this option.
5439
5288
  </span> <span class='comment'>#
5440
- </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`, if this option doesn&#39;t require a meta argument.
5289
+ </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`,
5290
+ </span> <span class='comment'># if this option doesn&#39;t require a meta argument.
5441
5291
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
5442
- <span class='id identifier rubyid_requires_argument?'>requires_argument?</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
5292
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_requires_argument?'>requires_argument?</span>
5293
+ <span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
5443
5294
  <span class='kw'>end</span>
5444
5295
 
5445
5296
  <span class='comment'># Get the current default value for this option.
5446
5297
  </span> <span class='comment'>#
5447
5298
  </span> <span class='comment'># @return [Object] The default value for this option.
5448
5299
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_default'>default</span>
5449
- <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span>
5300
+ <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
5450
5301
  <span class='kw'>end</span>
5451
5302
 
5452
5303
  <span class='comment'># Check if the current option has a default value.
5453
5304
  </span> <span class='comment'>#
5454
5305
  </span> <span class='comment'># @return [Boolean] If the current option has a default value.
5455
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
5306
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
5456
5307
  <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
5457
5308
  <span class='kw'>end</span>
5458
5309
 
@@ -5465,7 +5316,7 @@
5465
5316
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
5466
5317
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
5467
5318
 
5468
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
5319
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
5469
5320
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
5470
5321
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
5471
5322
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -5478,10 +5329,9 @@
5478
5329
 
5479
5330
  <span class='comment'># Executes the action associated to this option.
5480
5331
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
5481
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
5482
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
5483
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
5484
- <span class='kw'>end</span>
5332
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5333
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
5334
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
5485
5335
  <span class='kw'>end</span>
5486
5336
 
5487
5337
  <span class='comment'># Checks if this option requires an argument.
@@ -5501,7 +5351,7 @@
5501
5351
  <span class='comment'># Check if this command has a help.
5502
5352
  </span> <span class='comment'>#
5503
5353
  </span> <span class='comment'># @return [Boolean] `true` if this command has a help, `false` otherwise.
5504
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
5354
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
5505
5355
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5506
5356
  <span class='kw'>end</span>
5507
5357
 
@@ -5513,57 +5363,48 @@
5513
5363
  <span class='kw'>end</span>
5514
5364
 
5515
5365
  <span class='id identifier rubyid_private'>private</span>
5516
- <span class='comment'># Setups the forms of the this option.
5517
- </span> <span class='comment'>#
5518
- </span> <span class='comment'># @param forms [Array] An array of short and long forms for this option. Missing forms will be inferred by the name.
5519
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
5520
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
5521
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
5522
- <span class='kw'>end</span>
5523
5366
 
5524
- <span class='comment'># Setups the settings of the this option.
5525
- </span> <span class='comment'>#
5526
- </span> <span class='comment'># @param options [Hash] The settings for this option.
5527
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
5528
- <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
5529
- <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
5530
- <span class='kw'>end</span>
5531
- <span class='kw'>end</span>
5367
+ <span class='comment'># :nodoc:
5368
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
5369
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
5370
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
5371
+ <span class='kw'>end</span>
5532
5372
 
5533
- <span class='comment'># Setups the action of the this option.
5534
- </span> <span class='comment'>#
5535
- </span> <span class='comment'># @param action [Proc] The action of this option.
5536
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
5537
- <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
5373
+ <span class='comment'># :nodoc:
5374
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
5375
+ <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
5376
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
5538
5377
  <span class='kw'>end</span>
5378
+ <span class='kw'>end</span>
5379
+
5380
+ <span class='comment'># :nodoc:
5381
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
5382
+ <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
5383
+ <span class='kw'>end</span>
5539
5384
 
5540
- <span class='comment'># Handle failure in setting an option.
5541
- </span> <span class='comment'>#
5542
- </span> <span class='comment'># @param vs [Symbol] The type of validator.
5543
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
5544
- <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
5385
+ <span class='comment'># :nodoc:
5386
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
5387
+ <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
5545
5388
 
5546
- <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
5547
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
5548
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
5549
- <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
5389
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span>
5390
+ <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
5391
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
5392
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
5393
+ <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='label'>separator:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>last_separator:</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
5550
5394
  <span class='kw'>end</span>
5551
5395
 
5552
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
5553
- <span class='kw'>end</span>
5396
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
5397
+ <span class='kw'>end</span>
5554
5398
 
5555
- <span class='comment'># Gets the method required to verify a validator.
5556
- </span> <span class='comment'>#
5557
- </span> <span class='comment'># @param validator [Object] The type of the validator.
5558
- </span> <span class='comment'># @return [String] A method to call to verify the validator.
5559
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
5560
- <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
5561
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
5562
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
5563
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
5564
- <span class='kw'>else</span> <span class='kw'>false</span>
5565
- <span class='kw'>end</span>
5399
+ <span class='comment'># :nodoc:
5400
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
5401
+ <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
5402
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
5403
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
5404
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
5405
+ <span class='kw'>else</span> <span class='kw'>false</span>
5566
5406
  <span class='kw'>end</span>
5407
+ <span class='kw'>end</span>
5567
5408
  <span class='kw'>end</span></pre>
5568
5409
  </td>
5569
5410
  </tr>
@@ -5614,6 +5455,7 @@
5614
5455
  <pre class="lines">
5615
5456
 
5616
5457
 
5458
+ 41
5617
5459
  42
5618
5460
  43
5619
5461
  44
@@ -5816,19 +5658,10 @@
5816
5658
  241
5817
5659
  242
5818
5660
  243
5819
- 244
5820
- 245
5821
- 246
5822
- 247
5823
- 248
5824
- 249
5825
- 250
5826
- 251
5827
- 252
5828
- 253</pre>
5661
+ 244</pre>
5829
5662
  </td>
5830
5663
  <td>
5831
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 42</span>
5664
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 41</span>
5832
5665
 
5833
5666
  <span class='kw'>class</span> <span class='const'>Option</span>
5834
5667
  <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
@@ -5862,7 +5695,7 @@
5862
5695
  </span> <span class='comment'>#
5863
5696
  </span> <span class='comment'># @param value [String] The short form of this option.
5864
5697
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_short='>short=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
5865
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5698
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5866
5699
 
5867
5700
  <span class='comment'># Clean value
5868
5701
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}([a-z0-9])(.*)$</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -5874,7 +5707,7 @@
5874
5707
  </span> <span class='comment'>#
5875
5708
  </span> <span class='comment'># @param value [String] The short form of this option.
5876
5709
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_long='>long=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
5877
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5710
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5878
5711
 
5879
5712
  <span class='comment'># Clean value
5880
5713
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}(.+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -5887,7 +5720,7 @@
5887
5720
  </span> <span class='comment'># @param value [String] The validator of this option.
5888
5721
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_validator='>validator=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
5889
5722
  <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span><span class='rparen'>)</span>
5890
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
5723
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
5891
5724
  <span class='ivar'>@validator</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
5892
5725
  <span class='kw'>end</span>
5893
5726
 
@@ -5914,22 +5747,24 @@
5914
5747
 
5915
5748
  <span class='comment'># Returns the meta argument for this option.
5916
5749
  </span> <span class='comment'>#
5917
- </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`, if this option doesn&#39;t require a meta argument.
5750
+ </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`,
5751
+ </span> <span class='comment'># if this option doesn&#39;t require a meta argument.
5918
5752
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
5919
- <span class='id identifier rubyid_requires_argument?'>requires_argument?</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
5753
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_requires_argument?'>requires_argument?</span>
5754
+ <span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
5920
5755
  <span class='kw'>end</span>
5921
5756
 
5922
5757
  <span class='comment'># Get the current default value for this option.
5923
5758
  </span> <span class='comment'>#
5924
5759
  </span> <span class='comment'># @return [Object] The default value for this option.
5925
5760
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_default'>default</span>
5926
- <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span>
5761
+ <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
5927
5762
  <span class='kw'>end</span>
5928
5763
 
5929
5764
  <span class='comment'># Check if the current option has a default value.
5930
5765
  </span> <span class='comment'>#
5931
5766
  </span> <span class='comment'># @return [Boolean] If the current option has a default value.
5932
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
5767
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
5933
5768
  <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
5934
5769
  <span class='kw'>end</span>
5935
5770
 
@@ -5942,7 +5777,7 @@
5942
5777
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
5943
5778
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
5944
5779
 
5945
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
5780
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
5946
5781
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
5947
5782
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
5948
5783
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -5955,10 +5790,9 @@
5955
5790
 
5956
5791
  <span class='comment'># Executes the action associated to this option.
5957
5792
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
5958
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
5959
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
5960
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
5961
- <span class='kw'>end</span>
5793
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5794
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
5795
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
5962
5796
  <span class='kw'>end</span>
5963
5797
 
5964
5798
  <span class='comment'># Checks if this option requires an argument.
@@ -5978,7 +5812,7 @@
5978
5812
  <span class='comment'># Check if this command has a help.
5979
5813
  </span> <span class='comment'>#
5980
5814
  </span> <span class='comment'># @return [Boolean] `true` if this command has a help, `false` otherwise.
5981
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
5815
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
5982
5816
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
5983
5817
  <span class='kw'>end</span>
5984
5818
 
@@ -5990,57 +5824,48 @@
5990
5824
  <span class='kw'>end</span>
5991
5825
 
5992
5826
  <span class='id identifier rubyid_private'>private</span>
5993
- <span class='comment'># Setups the forms of the this option.
5994
- </span> <span class='comment'>#
5995
- </span> <span class='comment'># @param forms [Array] An array of short and long forms for this option. Missing forms will be inferred by the name.
5996
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
5997
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
5998
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
5999
- <span class='kw'>end</span>
6000
5827
 
6001
- <span class='comment'># Setups the settings of the this option.
6002
- </span> <span class='comment'>#
6003
- </span> <span class='comment'># @param options [Hash] The settings for this option.
6004
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
6005
- <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
6006
- <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
6007
- <span class='kw'>end</span>
6008
- <span class='kw'>end</span>
5828
+ <span class='comment'># :nodoc:
5829
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
5830
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
5831
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
5832
+ <span class='kw'>end</span>
6009
5833
 
6010
- <span class='comment'># Setups the action of the this option.
6011
- </span> <span class='comment'>#
6012
- </span> <span class='comment'># @param action [Proc] The action of this option.
6013
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
6014
- <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
5834
+ <span class='comment'># :nodoc:
5835
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
5836
+ <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
5837
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
6015
5838
  <span class='kw'>end</span>
5839
+ <span class='kw'>end</span>
6016
5840
 
6017
- <span class='comment'># Handle failure in setting an option.
6018
- </span> <span class='comment'>#
6019
- </span> <span class='comment'># @param vs [Symbol] The type of validator.
6020
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
6021
- <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
5841
+ <span class='comment'># :nodoc:
5842
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
5843
+ <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
5844
+ <span class='kw'>end</span>
5845
+
5846
+ <span class='comment'># :nodoc:
5847
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
5848
+ <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
6022
5849
 
6023
- <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
6024
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
6025
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
6026
- <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
5850
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span>
5851
+ <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
5852
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
5853
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
5854
+ <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='label'>separator:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>last_separator:</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
6027
5855
  <span class='kw'>end</span>
6028
5856
 
6029
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
6030
- <span class='kw'>end</span>
5857
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
5858
+ <span class='kw'>end</span>
6031
5859
 
6032
- <span class='comment'># Gets the method required to verify a validator.
6033
- </span> <span class='comment'>#
6034
- </span> <span class='comment'># @param validator [Object] The type of the validator.
6035
- </span> <span class='comment'># @return [String] A method to call to verify the validator.
6036
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
6037
- <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
6038
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
6039
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
6040
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
6041
- <span class='kw'>else</span> <span class='kw'>false</span>
6042
- <span class='kw'>end</span>
5860
+ <span class='comment'># :nodoc:
5861
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
5862
+ <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
5863
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
5864
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
5865
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
5866
+ <span class='kw'>else</span> <span class='kw'>false</span>
6043
5867
  <span class='kw'>end</span>
5868
+ <span class='kw'>end</span>
6044
5869
  <span class='kw'>end</span></pre>
6045
5870
  </td>
6046
5871
  </tr>
@@ -6091,6 +5916,7 @@
6091
5916
  <pre class="lines">
6092
5917
 
6093
5918
 
5919
+ 41
6094
5920
  42
6095
5921
  43
6096
5922
  44
@@ -6293,19 +6119,10 @@
6293
6119
  241
6294
6120
  242
6295
6121
  243
6296
- 244
6297
- 245
6298
- 246
6299
- 247
6300
- 248
6301
- 249
6302
- 250
6303
- 251
6304
- 252
6305
- 253</pre>
6122
+ 244</pre>
6306
6123
  </td>
6307
6124
  <td>
6308
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 42</span>
6125
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 41</span>
6309
6126
 
6310
6127
  <span class='kw'>class</span> <span class='const'>Option</span>
6311
6128
  <span class='id identifier rubyid_attr_accessor'>attr_accessor</span> <span class='symbol'>:name</span>
@@ -6339,7 +6156,7 @@
6339
6156
  </span> <span class='comment'>#
6340
6157
  </span> <span class='comment'># @param value [String] The short form of this option.
6341
6158
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_short='>short=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
6342
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
6159
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
6343
6160
 
6344
6161
  <span class='comment'># Clean value
6345
6162
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}([a-z0-9])(.*)$</span><span class='regexp_end'>/i</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -6351,7 +6168,7 @@
6351
6168
  </span> <span class='comment'>#
6352
6169
  </span> <span class='comment'># @param value [String] The short form of this option.
6353
6170
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_long='>long=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
6354
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
6171
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='ivar'>@name</span> <span class='kw'>unless</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
6355
6172
 
6356
6173
  <span class='comment'># Clean value
6357
6174
  </span> <span class='id identifier rubyid_final_value'>final_value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span><span class='period'>.</span><span class='id identifier rubyid_match'>match</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^-{0,2}(.+)$</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span>
@@ -6364,7 +6181,7 @@
6364
6181
  </span> <span class='comment'># @param value [String] The validator of this option.
6365
6182
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_validator='>validator=</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span>
6366
6183
  <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='kw'>nil</span> <span class='kw'>if</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span> <span class='op'>||</span> <span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_source'>source</span><span class='period'>.</span><span class='id identifier rubyid_blank?'>blank?</span><span class='rparen'>)</span>
6367
- <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
6184
+ <span class='id identifier rubyid_value'>value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='lparen'>(</span><span class='label'>no_duplicates:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>compact:</span> <span class='kw'>true</span><span class='comma'>,</span> <span class='label'>flatten:</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Regexp</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='op'>!</span><span class='id identifier rubyid_value'>value</span><span class='period'>.</span><span class='id identifier rubyid_is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Proc</span><span class='rparen'>)</span>
6368
6185
  <span class='ivar'>@validator</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
6369
6186
  <span class='kw'>end</span>
6370
6187
 
@@ -6391,22 +6208,24 @@
6391
6208
 
6392
6209
  <span class='comment'># Returns the meta argument for this option.
6393
6210
  </span> <span class='comment'>#
6394
- </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`, if this option doesn&#39;t require a meta argument.
6211
+ </span> <span class='comment'># @return [String|NilClass] Returns the current meta argument for this option (the default value is the option name uppercased) or `nil`,
6212
+ </span> <span class='comment'># if this option doesn&#39;t require a meta argument.
6395
6213
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
6396
- <span class='id identifier rubyid_requires_argument?'>requires_argument?</span> <span class='op'>?</span> <span class='lparen'>(</span><span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>nil</span>
6214
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='id identifier rubyid_requires_argument?'>requires_argument?</span>
6215
+ <span class='ivar'>@meta</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>?</span> <span class='ivar'>@meta</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='period'>.</span><span class='id identifier rubyid_upcase'>upcase</span>
6397
6216
  <span class='kw'>end</span>
6398
6217
 
6399
6218
  <span class='comment'># Get the current default value for this option.
6400
6219
  </span> <span class='comment'>#
6401
6220
  </span> <span class='comment'># @return [Object] The default value for this option.
6402
6221
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_default'>default</span>
6403
- <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span>
6222
+ <span class='ivar'>@default</span> <span class='op'>||</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>OPTION_TYPES</span><span class='lbracket'>[</span><span class='ivar'>@type</span><span class='rbracket'>]</span> <span class='op'>||</span> <span class='kw'>false</span>
6404
6223
  <span class='kw'>end</span>
6405
6224
 
6406
6225
  <span class='comment'># Check if the current option has a default value.
6407
6226
  </span> <span class='comment'>#
6408
6227
  </span> <span class='comment'># @return [Boolean] If the current option has a default value.
6409
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
6228
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
6410
6229
  <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
6411
6230
  <span class='kw'>end</span>
6412
6231
 
@@ -6419,7 +6238,7 @@
6419
6238
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
6420
6239
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
6421
6240
 
6422
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
6241
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
6423
6242
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
6424
6243
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
6425
6244
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -6432,10 +6251,9 @@
6432
6251
 
6433
6252
  <span class='comment'># Executes the action associated to this option.
6434
6253
  </span> <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
6435
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
6436
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
6437
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
6438
- <span class='kw'>end</span>
6254
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
6255
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
6256
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
6439
6257
  <span class='kw'>end</span>
6440
6258
 
6441
6259
  <span class='comment'># Checks if this option requires an argument.
@@ -6455,7 +6273,7 @@
6455
6273
  <span class='comment'># Check if this command has a help.
6456
6274
  </span> <span class='comment'>#
6457
6275
  </span> <span class='comment'># @return [Boolean] `true` if this command has a help, `false` otherwise.
6458
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
6276
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
6459
6277
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
6460
6278
  <span class='kw'>end</span>
6461
6279
 
@@ -6467,57 +6285,48 @@
6467
6285
  <span class='kw'>end</span>
6468
6286
 
6469
6287
  <span class='id identifier rubyid_private'>private</span>
6470
- <span class='comment'># Setups the forms of the this option.
6471
- </span> <span class='comment'>#
6472
- </span> <span class='comment'># @param forms [Array] An array of short and long forms for this option. Missing forms will be inferred by the name.
6473
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
6474
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>&gt;</span> <span class='int'>0</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
6475
- <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
6476
- <span class='kw'>end</span>
6477
6288
 
6478
- <span class='comment'># Setups the settings of the this option.
6479
- </span> <span class='comment'>#
6480
- </span> <span class='comment'># @param options [Hash] The settings for this option.
6481
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
6482
- <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
6483
- <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
6484
- <span class='kw'>end</span>
6485
- <span class='kw'>end</span>
6289
+ <span class='comment'># :nodoc:
6290
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_forms'>setup_forms</span><span class='lparen'>(</span><span class='id identifier rubyid_forms'>forms</span><span class='rparen'>)</span>
6291
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_short'>short</span> <span class='op'>=</span> <span class='op'>!</span><span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_empty?'>empty?</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span><span class='lbracket'>[</span><span class='int'>0</span><span class='comma'>,</span> <span class='int'>1</span><span class='rbracket'>]</span>
6292
+ <span class='kw'>self</span><span class='period'>.</span><span class='id identifier rubyid_long'>long</span> <span class='op'>=</span> <span class='id identifier rubyid_forms'>forms</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span> <span class='op'>?</span> <span class='id identifier rubyid_forms'>forms</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='op'>:</span> <span class='ivar'>@name</span>
6293
+ <span class='kw'>end</span>
6486
6294
 
6487
- <span class='comment'># Setups the action of the this option.
6488
- </span> <span class='comment'>#
6489
- </span> <span class='comment'># @param action [Proc] The action of this option.
6490
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
6491
- <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
6295
+ <span class='comment'># :nodoc:
6296
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_options'>setup_options</span><span class='lparen'>(</span><span class='id identifier rubyid_options'>options</span><span class='rparen'>)</span>
6297
+ <span class='lparen'>(</span><span class='id identifier rubyid_options'>options</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'>Hash</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='id identifier rubyid_options'>options</span> <span class='op'>:</span> <span class='lbrace'>{</span><span class='rbrace'>}</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_each_pair'>each_pair</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_option'>option</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='op'>|</span>
6298
+ <span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
6492
6299
  <span class='kw'>end</span>
6300
+ <span class='kw'>end</span>
6301
+
6302
+ <span class='comment'># :nodoc:
6303
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_setup_action'>setup_action</span><span class='lparen'>(</span><span class='id identifier rubyid_action'>action</span><span class='rparen'>)</span>
6304
+ <span class='ivar'>@action</span> <span class='op'>=</span> <span class='id identifier rubyid_action'>action</span> <span class='kw'>if</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_respond_to?'>respond_to?</span><span class='lparen'>(</span><span class='symbol'>:call</span><span class='rparen'>)</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_action'>action</span><span class='period'>.</span><span class='id identifier rubyid_try'>try</span><span class='lparen'>(</span><span class='symbol'>:arity</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='int'>2</span>
6305
+ <span class='kw'>end</span>
6493
6306
 
6494
- <span class='comment'># Handle failure in setting an option.
6495
- </span> <span class='comment'>#
6496
- </span> <span class='comment'># @param vs [Symbol] The type of validator.
6497
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
6498
- <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
6307
+ <span class='comment'># :nodoc:
6308
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_handle_set_failure'>handle_set_failure</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='rparen'>)</span>
6309
+ <span class='id identifier rubyid_locale'>locale</span> <span class='op'>=</span> <span class='ivar'>@parent</span><span class='period'>.</span><span class='id identifier rubyid_i18n'>i18n</span>
6499
6310
 
6500
- <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span> <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
6501
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
6502
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
6503
- <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
6311
+ <span class='id identifier rubyid_message'>message</span> <span class='op'>=</span>
6312
+ <span class='kw'>case</span> <span class='id identifier rubyid_vs'>vs</span>
6313
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_regexp'>invalid_for_regexp</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_inspect'>inspect</span><span class='rparen'>)</span>
6314
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_for_proc'>invalid_for_proc</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='rparen'>)</span>
6315
+ <span class='kw'>else</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_invalid_value'>invalid_value</span><span class='lparen'>(</span><span class='id identifier rubyid_label'>label</span><span class='comma'>,</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Parser</span><span class='period'>.</span><span class='id identifier rubyid_smart_join'>smart_join</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_ensure_array'>ensure_array</span><span class='comma'>,</span> <span class='label'>separator:</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>, </span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='label'>last_separator:</span> <span class='id identifier rubyid_locale'>locale</span><span class='period'>.</span><span class='id identifier rubyid_join_separator'>join_separator</span><span class='rparen'>)</span><span class='period'>.</span><span class='id identifier rubyid_html_safe'>html_safe</span><span class='rparen'>)</span>
6504
6316
  <span class='kw'>end</span>
6505
6317
 
6506
- <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
6507
- <span class='kw'>end</span>
6318
+ <span class='id identifier rubyid_raise'>raise</span> <span class='const'>Bovem</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>Error</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span><span class='kw'>self</span><span class='comma'>,</span> <span class='symbol'>:validation_failed</span><span class='comma'>,</span> <span class='id identifier rubyid_message'>message</span><span class='rparen'>)</span>
6319
+ <span class='kw'>end</span>
6508
6320
 
6509
- <span class='comment'># Gets the method required to verify a validator.
6510
- </span> <span class='comment'>#
6511
- </span> <span class='comment'># @param validator [Object] The type of the validator.
6512
- </span> <span class='comment'># @return [String] A method to call to verify the validator.
6513
- </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
6514
- <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
6515
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
6516
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
6517
- <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
6518
- <span class='kw'>else</span> <span class='kw'>false</span>
6519
- <span class='kw'>end</span>
6321
+ <span class='comment'># :nodoc:
6322
+ </span> <span class='kw'>def</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='id identifier rubyid_validator'>validator</span><span class='rparen'>)</span>
6323
+ <span class='kw'>case</span> <span class='id identifier rubyid_validator'>validator</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span><span class='period'>.</span><span class='id identifier rubyid_to_s'>to_s</span>
6324
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Array</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>include?</span><span class='tstring_end'>&quot;</span></span>
6325
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>match</span><span class='tstring_end'>&quot;</span></span>
6326
+ <span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Proc</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>call</span><span class='tstring_end'>&quot;</span></span>
6327
+ <span class='kw'>else</span> <span class='kw'>false</span>
6520
6328
  <span class='kw'>end</span>
6329
+ <span class='kw'>end</span>
6521
6330
  <span class='kw'>end</span></pre>
6522
6331
  </td>
6523
6332
  </tr>
@@ -6573,12 +6382,12 @@
6573
6382
  <pre class="lines">
6574
6383
 
6575
6384
 
6385
+ 112
6576
6386
  113
6577
- 114
6578
- 115</pre>
6387
+ 114</pre>
6579
6388
  </td>
6580
6389
  <td>
6581
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 113</span>
6390
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 112</span>
6582
6391
 
6583
6392
  <span class='kw'>def</span> <span class='id identifier rubyid_complete_long'>complete_long</span>
6584
6393
  <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>--</span><span class='embexpr_beg'>#{</span><span class='ivar'>@long</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
@@ -6630,12 +6439,12 @@
6630
6439
  <pre class="lines">
6631
6440
 
6632
6441
 
6442
+ 105
6633
6443
  106
6634
- 107
6635
- 108</pre>
6444
+ 107</pre>
6636
6445
  </td>
6637
6446
  <td>
6638
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 106</span>
6447
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 105</span>
6639
6448
 
6640
6449
  <span class='kw'>def</span> <span class='id identifier rubyid_complete_short'>complete_short</span>
6641
6450
  <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>-</span><span class='embexpr_beg'>#{</span><span class='ivar'>@short</span><span class='embexpr_end'>}</span><span class='tstring_end'>&quot;</span></span>
@@ -6646,9 +6455,9 @@
6646
6455
  </div>
6647
6456
 
6648
6457
  <div class="method_details ">
6649
- <h3 class="signature " id="execute_action-instance_method">
6458
+ <h3 class="signature " id="default?-instance_method">
6650
6459
 
6651
- - (<tt>Object</tt>) <strong>execute_action</strong>
6460
+ - (<tt>Boolean</tt>) <strong>default?</strong>
6652
6461
 
6653
6462
 
6654
6463
 
@@ -6656,13 +6465,30 @@
6656
6465
 
6657
6466
  </h3><div class="docstring">
6658
6467
  <div class="discussion">
6659
- <p>Executes the action associated to this option.</p>
6468
+ <p>Check if the current option has a default value.</p>
6660
6469
 
6661
6470
 
6662
6471
  </div>
6663
6472
  </div>
6664
6473
  <div class="tags">
6665
6474
 
6475
+ <p class="tag_title">Returns:</p>
6476
+ <ul class="return">
6477
+
6478
+ <li>
6479
+
6480
+
6481
+ <span class='type'>(<tt>Boolean</tt>)</span>
6482
+
6483
+
6484
+
6485
+ &mdash;
6486
+ <div class='inline'><p>If the current option has a default value.</p>
6487
+ </div>
6488
+
6489
+ </li>
6490
+
6491
+ </ul>
6666
6492
 
6667
6493
  </div><table class="source_code">
6668
6494
  <tr>
@@ -6670,21 +6496,15 @@
6670
6496
  <pre class="lines">
6671
6497
 
6672
6498
 
6673
- 166
6674
- 167
6675
- 168
6676
- 169
6677
- 170
6678
- 171</pre>
6499
+ 142
6500
+ 143
6501
+ 144</pre>
6679
6502
  </td>
6680
6503
  <td>
6681
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 166</span>
6504
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 142</span>
6682
6505
 
6683
- <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
6684
- <span class='kw'>if</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span> <span class='kw'>then</span>
6685
- <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
6686
- <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
6687
- <span class='kw'>end</span>
6506
+ <span class='kw'>def</span> <span class='id identifier rubyid_default?'>default?</span>
6507
+ <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
6688
6508
  <span class='kw'>end</span></pre>
6689
6509
  </td>
6690
6510
  </tr>
@@ -6692,9 +6512,9 @@
6692
6512
  </div>
6693
6513
 
6694
6514
  <div class="method_details ">
6695
- <h3 class="signature " id="has_default?-instance_method">
6515
+ <h3 class="signature " id="execute_action-instance_method">
6696
6516
 
6697
- - (<tt>Boolean</tt>) <strong>has_default?</strong>
6517
+ - (<tt>Object</tt>) <strong>execute_action</strong>
6698
6518
 
6699
6519
 
6700
6520
 
@@ -6702,30 +6522,13 @@
6702
6522
 
6703
6523
  </h3><div class="docstring">
6704
6524
  <div class="discussion">
6705
- <p>Check if the current option has a default value.</p>
6525
+ <p>Executes the action associated to this option.</p>
6706
6526
 
6707
6527
 
6708
6528
  </div>
6709
6529
  </div>
6710
6530
  <div class="tags">
6711
6531
 
6712
- <p class="tag_title">Returns:</p>
6713
- <ul class="return">
6714
-
6715
- <li>
6716
-
6717
-
6718
- <span class='type'>(<tt>Boolean</tt>)</span>
6719
-
6720
-
6721
-
6722
- &mdash;
6723
- <div class='inline'><p>If the current option has a default value.</p>
6724
- </div>
6725
-
6726
- </li>
6727
-
6728
- </ul>
6729
6532
 
6730
6533
  </div><table class="source_code">
6731
6534
  <tr>
@@ -6733,15 +6536,19 @@
6733
6536
  <pre class="lines">
6734
6537
 
6735
6538
 
6736
- 141
6737
- 142
6738
- 143</pre>
6539
+ 167
6540
+ 168
6541
+ 169
6542
+ 170
6543
+ 171</pre>
6739
6544
  </td>
6740
6545
  <td>
6741
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 141</span>
6546
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 167</span>
6742
6547
 
6743
- <span class='kw'>def</span> <span class='id identifier rubyid_has_default?'>has_default?</span>
6744
- <span class='op'>!</span><span class='ivar'>@default</span><span class='period'>.</span><span class='id identifier rubyid_nil?'>nil?</span>
6548
+ <span class='kw'>def</span> <span class='id identifier rubyid_execute_action'>execute_action</span>
6549
+ <span class='kw'>return</span> <span class='kw'>nil</span> <span class='kw'>unless</span> <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
6550
+ <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
6551
+ <span class='ivar'>@action</span><span class='period'>.</span><span class='id identifier rubyid_call'>call</span><span class='lparen'>(</span><span class='id identifier rubyid_parent'>parent</span><span class='comma'>,</span> <span class='kw'>self</span><span class='rparen'>)</span>
6745
6552
  <span class='kw'>end</span></pre>
6746
6553
  </td>
6747
6554
  </tr>
@@ -6749,9 +6556,9 @@
6749
6556
  </div>
6750
6557
 
6751
6558
  <div class="method_details ">
6752
- <h3 class="signature " id="has_help?-instance_method">
6559
+ <h3 class="signature " id="help?-instance_method">
6753
6560
 
6754
- - (<tt>Boolean</tt>) <strong>has_help?</strong>
6561
+ - (<tt>Boolean</tt>) <strong>help?</strong>
6755
6562
 
6756
6563
 
6757
6564
 
@@ -6797,7 +6604,7 @@
6797
6604
  <td>
6798
6605
  <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 190</span>
6799
6606
 
6800
- <span class='kw'>def</span> <span class='id identifier rubyid_has_help?'>has_help?</span>
6607
+ <span class='kw'>def</span> <span class='id identifier rubyid_help?'>help?</span>
6801
6608
  <span class='ivar'>@help</span><span class='period'>.</span><span class='id identifier rubyid_present?'>present?</span>
6802
6609
  <span class='kw'>end</span></pre>
6803
6610
  </td>
@@ -6847,12 +6654,12 @@
6847
6654
  <pre class="lines">
6848
6655
 
6849
6656
 
6657
+ 119
6850
6658
  120
6851
- 121
6852
- 122</pre>
6659
+ 121</pre>
6853
6660
  </td>
6854
6661
  <td>
6855
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 120</span>
6662
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 119</span>
6856
6663
 
6857
6664
  <span class='kw'>def</span> <span class='id identifier rubyid_label'>label</span>
6858
6665
  <span class='lbracket'>[</span><span class='id identifier rubyid_complete_short'>complete_short</span><span class='comma'>,</span> <span class='id identifier rubyid_complete_long'>complete_long</span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_compact'>compact</span><span class='period'>.</span><span class='id identifier rubyid_join'>join</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
@@ -7054,7 +6861,6 @@
7054
6861
  <pre class="lines">
7055
6862
 
7056
6863
 
7057
- 150
7058
6864
  151
7059
6865
  152
7060
6866
  153
@@ -7067,16 +6873,17 @@
7067
6873
  160
7068
6874
  161
7069
6875
  162
7070
- 163</pre>
6876
+ 163
6877
+ 164</pre>
7071
6878
  </td>
7072
6879
  <td>
7073
- <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 150</span>
6880
+ <pre class="code"><span class="info file"># File 'lib/bovem/option.rb', line 151</span>
7074
6881
 
7075
6882
  <span class='kw'>def</span> <span class='id identifier rubyid_set'>set</span><span class='lparen'>(</span><span class='id identifier rubyid_value'>value</span><span class='comma'>,</span> <span class='id identifier rubyid_raise_error'>raise_error</span> <span class='op'>=</span> <span class='kw'>true</span><span class='rparen'>)</span>
7076
6883
  <span class='id identifier rubyid_vs'>vs</span> <span class='op'>=</span> <span class='id identifier rubyid_get_validator_method'>get_validator_method</span><span class='lparen'>(</span><span class='ivar'>@validator</span><span class='rparen'>)</span>
7077
6884
  <span class='id identifier rubyid_rv'>rv</span> <span class='op'>=</span> <span class='id identifier rubyid_vs'>vs</span> <span class='op'>?</span> <span class='ivar'>@validator</span><span class='period'>.</span><span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='id identifier rubyid_vs'>vs</span><span class='comma'>,</span> <span class='id identifier rubyid_value'>value</span><span class='rparen'>)</span> <span class='op'>:</span> <span class='kw'>true</span>
7078
6885
 
7079
- <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span> <span class='kw'>then</span>
6886
+ <span class='kw'>if</span> <span class='id identifier rubyid_rv'>rv</span>
7080
6887
  <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id identifier rubyid_value'>value</span>
7081
6888
  <span class='ivar'>@provided</span> <span class='op'>=</span> <span class='kw'>true</span>
7082
6889
  <span class='kw'>else</span> <span class='comment'># Validation failed
@@ -7096,9 +6903,9 @@
7096
6903
  </div>
7097
6904
 
7098
6905
  <div id="footer">
7099
- Generated on Sat Mar 8 10:27:43 2014 by
6906
+ Generated on Tue Mar 29 20:43:17 2016 by
7100
6907
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
7101
- 0.8.7.3 (ruby-2.1.0).
6908
+ 0.8.7.6 (ruby-2.3.0).
7102
6909
  </div>
7103
6910
 
7104
6911
  </body>