bovem 3.0.5 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +4 -3
- data/.rubocop.yml +82 -0
- data/.travis-gemfile +4 -5
- data/.travis.yml +8 -6
- data/CHANGELOG.md +12 -0
- data/Gemfile +9 -8
- data/README.md +1 -1
- data/Rakefile +22 -6
- data/bovem.gemspec +5 -5
- data/doc/Bovem.html +10 -10
- data/doc/Bovem/Application.html +670 -318
- data/doc/Bovem/Command.html +1447 -1125
- data/doc/Bovem/CommandMethods.html +4 -4
- data/doc/Bovem/CommandMethods/Children.html +173 -179
- data/doc/Bovem/CommandMethods/Help.html +9 -9
- data/doc/Bovem/Configuration.html +239 -24
- data/doc/Bovem/Console.html +267 -128
- data/doc/Bovem/ConsoleMethods.html +4 -4
- data/doc/Bovem/ConsoleMethods/Interactions.html +57 -70
- data/doc/Bovem/ConsoleMethods/Interactions/ClassMethods.html +9 -9
- data/doc/Bovem/ConsoleMethods/Logging.html +258 -298
- data/doc/Bovem/ConsoleMethods/Logging/ClassMethods.html +8 -8
- data/doc/Bovem/ConsoleMethods/Output.html +96 -118
- data/doc/Bovem/ConsoleMethods/StyleHandling.html +8 -8
- data/doc/Bovem/ConsoleMethods/StyleHandling/ClassMethods.html +26 -39
- data/doc/Bovem/Errors.html +4 -4
- data/doc/Bovem/Errors/Error.html +4 -4
- data/doc/Bovem/Errors/InvalidConfiguration.html +4 -4
- data/doc/Bovem/Errors/InvalidLogger.html +4 -4
- data/doc/Bovem/I18n.html +175 -0
- data/doc/Bovem/Logger.html +95 -83
- data/doc/Bovem/Option.html +669 -862
- data/doc/Bovem/Parser.html +10 -10
- data/doc/Bovem/ParserMethods.html +4 -4
- data/doc/Bovem/ParserMethods/General.html +4 -4
- data/doc/Bovem/ParserMethods/General/ClassMethods.html +26 -38
- data/doc/Bovem/Shell.html +169 -48
- data/doc/Bovem/ShellMethods.html +4 -4
- data/doc/Bovem/ShellMethods/Directories.html +46 -62
- data/doc/Bovem/ShellMethods/Execute.html +51 -99
- data/doc/Bovem/ShellMethods/General.html +4 -445
- data/doc/Bovem/ShellMethods/Read.html +56 -61
- data/doc/Bovem/ShellMethods/Write.html +22 -242
- data/doc/Bovem/Version.html +6 -6
- data/doc/_index.html +18 -18
- data/doc/class_list.html +6 -2
- data/doc/css/style.css +1 -0
- data/doc/file.README.html +5 -5
- data/doc/file_list.html +5 -1
- data/doc/frames.html +1 -1
- data/doc/index.html +5 -5
- data/doc/js/full_list.js +4 -1
- data/doc/method_list.html +161 -157
- data/doc/top-level-namespace.html +4 -4
- data/lib/bovem.rb +3 -4
- data/lib/bovem/application.rb +47 -39
- data/lib/bovem/command.rb +175 -193
- data/lib/bovem/configuration.rb +28 -29
- data/lib/bovem/console.rb +244 -171
- data/lib/bovem/errors.rb +1 -1
- data/lib/bovem/i18n.rb +18 -0
- data/lib/bovem/logger.rb +26 -26
- data/lib/bovem/option.rb +49 -58
- data/lib/bovem/parser.rb +174 -222
- data/lib/bovem/shell.rb +272 -320
- data/lib/bovem/version.rb +2 -2
- data/locales/en.yml +39 -38
- data/locales/it.yml +39 -38
- data/spec/bovem/application_spec.rb +6 -5
- data/spec/bovem/command_spec.rb +23 -23
- data/spec/bovem/console_spec.rb +101 -102
- data/spec/bovem/i18n_spec.rb +21 -0
- data/spec/bovem/logger_spec.rb +4 -4
- data/spec/bovem/option_spec.rb +43 -43
- data/spec/bovem/parser_spec.rb +13 -13
- data/spec/bovem/shell_spec.rb +106 -115
- data/spec/spec_helper.rb +19 -6
- metadata +14 -13
- data/doc/Bovem/Localizer.html +0 -376
- data/lib/bovem/localizer.rb +0 -27
- data/spec/coverage_helper.rb +0 -20
data/doc/Bovem/Logger.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: Bovem::Logger
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.7.
|
9
|
+
— 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#!"
|
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'>"</span><span class='tstring_content'>DEBUG</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='symbol'>:cyan</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>INFO</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='symbol'>:green</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>WARN</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='symbol'>:yellow</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ERROR</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='symbol'>:red</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>FATAL</span><span class='tstring_end'>"</span></span> <span class='op'>=></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
|
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 =
|
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 =
|
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>
|
400
|
+
<em class="default">(defaults to: <tt>1_048_576</tt>)</em>
|
379
401
|
|
380
402
|
|
381
403
|
—
|
@@ -400,15 +422,15 @@
|
|
400
422
|
<pre class="lines">
|
401
423
|
|
402
424
|
|
403
|
-
|
404
|
-
|
405
|
-
|
406
|
-
|
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
|
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'>
|
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'><</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'>"</span><span class='tstring_content'>DEBUG</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='symbol'>:cyan</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>INFO</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='symbol'>:green</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>WARN</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='symbol'>:yellow</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ERROR</span><span class='tstring_end'>"</span></span> <span class='op'>=></span> <span class='symbol'>:red</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>FATAL</span><span class='tstring_end'>"</span></span> <span class='op'>=></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'>
|
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='
|
569
|
-
<span class='
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
<span class='
|
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
|
-
|
586
|
-
|
587
|
-
|
608
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>STDOUT</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>"</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='
|
601
|
-
<span class='id identifier rubyid_color'>color</span> <span class='op'>=</span> <span class='
|
602
|
-
|
603
|
-
|
604
|
-
<span class='
|
605
|
-
|
606
|
-
|
607
|
-
<span class='
|
608
|
-
<span class='
|
609
|
-
|
610
|
-
<span class='id identifier
|
611
|
-
|
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'>"</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'>"</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'>"</span><span class='tstring_content'>%Y/%b/%d %H:%M:%S</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>%s %s\n</span><span class='tstring_end'>"</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
|
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
|
—
|
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
|
—
|
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
|
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
|
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='
|
745
|
-
<span class='
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
<span class='
|
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
|
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
|
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
|
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='
|
879
|
-
<span class='id identifier rubyid_color'>color</span> <span class='op'>=</span> <span class='
|
880
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>DEBUG</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>INFO</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>WARN</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>ERROR</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>FATAL</span><span class='tstring_end'>"</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
|
889
|
-
|
890
|
-
|
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'>"</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'>"</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'>"</span><span class='tstring_content'>%Y/%b/%d %H:%M:%S</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>%s %s\n</span><span class='tstring_end'>"</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
|
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
|
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
|
-
|
972
|
-
|
973
|
-
|
983
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>STDOUT</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>STDERR</span><span class='tstring_end'>"</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
|
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.
|
1057
|
+
0.8.7.6 (ruby-2.3.0).
|
1046
1058
|
</div>
|
1047
1059
|
|
1048
1060
|
</body>
|
data/doc/Bovem/Option.html
CHANGED
@@ -6,7 +6,7 @@
|
|
6
6
|
<title>
|
7
7
|
Class: Bovem::Option
|
8
8
|
|
9
|
-
— Documentation by YARD 0.8.7.
|
9
|
+
— 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#!"
|
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="#
|
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>
|
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="#
|
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>
|
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="#
|
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
|
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'>&</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
|
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'>
|
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'>
|
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'>&&</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='
|
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'>&&</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'>&&</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`,
|
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't require a meta argument.
|
1148
1141
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
|
1149
|
-
<span class='
|
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
|
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>
|
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'>
|
1189
|
-
|
1190
|
-
|
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
|
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'>></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
|
-
|
1232
|
-
</span>
|
1233
|
-
</span>
|
1234
|
-
|
1235
|
-
|
1236
|
-
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</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'>"</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'>"</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
|
-
|
1241
|
-
</span>
|
1242
|
-
</span>
|
1243
|
-
</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'>&&</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'>&&</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'>"</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'>"</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'>"</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'>"</span></span><span class='rparen'>)</span>
|
1245
1227
|
<span class='kw'>end</span>
|
1228
|
+
<span class='kw'>end</span>
|
1246
1229
|
|
1247
|
-
|
1248
|
-
</span>
|
1249
|
-
</span>
|
1250
|
-
|
1251
|
-
|
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'>&&</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'>&&</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
|
-
|
1254
|
-
|
1255
|
-
|
1256
|
-
|
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'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</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
|
-
|
1260
|
-
|
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
|
-
|
1263
|
-
</span>
|
1264
|
-
</span>
|
1265
|
-
</span>
|
1266
|
-
|
1267
|
-
|
1268
|
-
|
1269
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
1270
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Array</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>include?</span><span class='tstring_end'>"</span></span>
|
1253
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
1254
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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
|
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'>
|
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'>
|
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'>&&</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='
|
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'>&&</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'>&&</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`,
|
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't require a meta argument.
|
1625
1602
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
|
1626
|
-
<span class='
|
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
|
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>
|
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'>
|
1666
|
-
|
1667
|
-
|
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
|
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'>></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
|
-
|
1709
|
-
</span>
|
1710
|
-
</span>
|
1711
|
-
|
1712
|
-
|
1713
|
-
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</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'>"</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'>"</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
|
-
|
1718
|
-
</span>
|
1719
|
-
</span>
|
1720
|
-
</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'>&&</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'>&&</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'>"</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'>"</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'>"</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'>"</span></span><span class='rparen'>)</span>
|
1722
1688
|
<span class='kw'>end</span>
|
1689
|
+
<span class='kw'>end</span>
|
1723
1690
|
|
1724
|
-
|
1725
|
-
</span>
|
1726
|
-
</span>
|
1727
|
-
|
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'>&&</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'>&&</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
|
-
|
1731
|
-
|
1732
|
-
|
1733
|
-
|
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'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</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
|
-
|
1737
|
-
|
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
|
-
|
1740
|
-
</span>
|
1741
|
-
</span>
|
1742
|
-
</span>
|
1743
|
-
|
1744
|
-
|
1745
|
-
|
1746
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
1747
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Array</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>include?</span><span class='tstring_end'>"</span></span>
|
1714
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
1715
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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
|
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'>
|
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'>
|
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'>&&</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='
|
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'>&&</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'>&&</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`,
|
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't require a meta argument.
|
2102
2063
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
|
2103
|
-
<span class='
|
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
|
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>
|
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'>
|
2143
|
-
|
2144
|
-
|
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
|
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'>></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
|
-
|
2186
|
-
</span>
|
2187
|
-
</span>
|
2188
|
-
|
2189
|
-
|
2190
|
-
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</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'>"</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'>"</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
|
-
|
2195
|
-
</span>
|
2196
|
-
</span>
|
2197
|
-
</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'>&&</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'>&&</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'>"</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'>"</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'>"</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'>"</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'>&&</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'>&&</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
|
-
|
2202
|
-
</span>
|
2203
|
-
</span>
|
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
|
-
|
2208
|
-
|
2209
|
-
|
2210
|
-
|
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'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</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
|
-
|
2214
|
-
|
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
|
-
|
2217
|
-
</span>
|
2218
|
-
</span>
|
2219
|
-
</span>
|
2220
|
-
|
2221
|
-
|
2222
|
-
|
2223
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
2224
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Array</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>include?</span><span class='tstring_end'>"</span></span>
|
2175
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
2176
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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
|
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'>
|
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'>
|
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'>&&</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='
|
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'>&&</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'>&&</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`,
|
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't require a meta argument.
|
2579
2524
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
|
2580
|
-
<span class='
|
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
|
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>
|
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'>
|
2620
|
-
|
2621
|
-
|
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
|
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'>></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
|
-
|
2663
|
-
</span>
|
2664
|
-
</span>
|
2665
|
-
|
2666
|
-
|
2667
|
-
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</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'>"</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'>"</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
|
-
|
2672
|
-
</span>
|
2673
|
-
</span>
|
2674
|
-
</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'>&&</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'>&&</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'>"</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'>"</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'>"</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'>"</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'>&&</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'>&&</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
|
-
|
2679
|
-
</span>
|
2680
|
-
</span>
|
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
|
-
|
2685
|
-
|
2686
|
-
|
2687
|
-
|
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'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</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
|
-
|
2691
|
-
|
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
|
-
|
2694
|
-
</span>
|
2695
|
-
</span>
|
2696
|
-
</span>
|
2697
|
-
|
2698
|
-
|
2699
|
-
|
2700
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
2701
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Array</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>include?</span><span class='tstring_end'>"</span></span>
|
2636
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
2637
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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
|
—
|
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>,
|
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
|
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'>
|
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'>
|
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'>&&</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='
|
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'>&&</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'>&&</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`,
|
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't require a meta argument.
|
3056
2986
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
|
3057
|
-
<span class='
|
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
|
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>
|
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'>
|
3097
|
-
|
3098
|
-
|
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
|
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'>></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
|
-
|
3140
|
-
</span>
|
3141
|
-
</span>
|
3142
|
-
|
3143
|
-
|
3144
|
-
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</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'>"</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'>"</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
|
-
|
3149
|
-
</span>
|
3150
|
-
</span>
|
3151
|
-
</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'>&&</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'>&&</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'>"</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'>"</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'>"</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'>"</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'>&&</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'>&&</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
|
-
|
3156
|
-
</span>
|
3157
|
-
</span>
|
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
|
-
|
3162
|
-
|
3163
|
-
|
3164
|
-
|
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'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</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
|
-
|
3168
|
-
|
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
|
-
|
3171
|
-
</span>
|
3172
|
-
</span>
|
3173
|
-
</span>
|
3174
|
-
|
3175
|
-
|
3176
|
-
|
3177
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
3178
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Array</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>include?</span><span class='tstring_end'>"</span></span>
|
3098
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
3099
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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
|
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'>
|
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'>
|
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'>&&</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='
|
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'>&&</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'>&&</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`,
|
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't require a meta argument.
|
3533
3447
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
|
3534
|
-
<span class='
|
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
|
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>
|
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'>
|
3574
|
-
|
3575
|
-
|
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
|
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'>></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
|
-
|
3617
|
-
</span>
|
3618
|
-
</span>
|
3619
|
-
|
3620
|
-
|
3621
|
-
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</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'>"</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'>"</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
|
-
|
3626
|
-
</span>
|
3627
|
-
</span>
|
3628
|
-
</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'>&&</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'>&&</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'>"</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'>"</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'>"</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'>"</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'>&&</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'>&&</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
|
-
|
3633
|
-
</span>
|
3634
|
-
</span>
|
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
|
-
|
3639
|
-
|
3640
|
-
|
3641
|
-
|
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'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</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
|
-
|
3645
|
-
|
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
|
-
|
3648
|
-
</span>
|
3649
|
-
</span>
|
3650
|
-
</span>
|
3651
|
-
|
3652
|
-
|
3653
|
-
|
3654
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
3655
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Array</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>include?</span><span class='tstring_end'>"</span></span>
|
3559
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
3560
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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
|
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'>
|
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'>
|
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'>&&</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='
|
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'>&&</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'>&&</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`,
|
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't require a meta argument.
|
4010
3908
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
|
4011
|
-
<span class='
|
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
|
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>
|
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'>
|
4051
|
-
|
4052
|
-
|
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
|
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'>></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
|
-
|
4094
|
-
</span>
|
4095
|
-
</span>
|
4096
|
-
|
4097
|
-
|
4098
|
-
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</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'>"</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'>"</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
|
-
|
4103
|
-
</span>
|
4104
|
-
</span>
|
4105
|
-
</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'>&&</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'>&&</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'>"</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'>"</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'>"</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'>"</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'>&&</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'>&&</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
|
-
|
4110
|
-
</span>
|
4111
|
-
</span>
|
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
|
-
|
4116
|
-
|
4117
|
-
|
4118
|
-
|
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'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</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
|
-
|
4122
|
-
|
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
|
-
|
4125
|
-
</span>
|
4126
|
-
</span>
|
4127
|
-
</span>
|
4128
|
-
|
4129
|
-
|
4130
|
-
|
4131
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
4132
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Array</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>include?</span><span class='tstring_end'>"</span></span>
|
4020
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
4021
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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
|
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'>
|
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'>
|
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'>&&</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='
|
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'>&&</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'>&&</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`,
|
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't require a meta argument.
|
4487
4369
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
|
4488
|
-
<span class='
|
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
|
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>
|
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'>
|
4528
|
-
|
4529
|
-
|
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
|
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'>></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
|
-
|
4571
|
-
</span>
|
4572
|
-
</span>
|
4573
|
-
|
4574
|
-
|
4575
|
-
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</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'>"</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'>"</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
|
-
|
4580
|
-
</span>
|
4581
|
-
</span>
|
4582
|
-
</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'>&&</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'>&&</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'>"</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'>"</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'>"</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'>"</span></span><span class='rparen'>)</span>
|
4584
4455
|
<span class='kw'>end</span>
|
4456
|
+
<span class='kw'>end</span>
|
4585
4457
|
|
4586
|
-
|
4587
|
-
</span>
|
4588
|
-
</span>
|
4589
|
-
|
4590
|
-
|
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'>&&</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'>&&</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
|
-
|
4593
|
-
|
4594
|
-
|
4595
|
-
|
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'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</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
|
-
|
4599
|
-
|
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
|
-
|
4602
|
-
</span>
|
4603
|
-
</span>
|
4604
|
-
</span>
|
4605
|
-
|
4606
|
-
|
4607
|
-
|
4608
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
4609
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Array</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>include?</span><span class='tstring_end'>"</span></span>
|
4481
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
4482
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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
|
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'>
|
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'>
|
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'>&&</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='
|
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'>&&</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'>&&</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`,
|
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't require a meta argument.
|
4964
4830
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
|
4965
|
-
<span class='
|
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
|
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>
|
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'>
|
5005
|
-
|
5006
|
-
|
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
|
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'>></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
|
-
|
5048
|
-
</span>
|
5049
|
-
</span>
|
5050
|
-
|
5051
|
-
|
5052
|
-
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</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'>"</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'>"</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
|
-
|
5057
|
-
</span>
|
5058
|
-
</span>
|
5059
|
-
</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'>&&</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'>&&</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'>"</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'>"</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'>"</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'>"</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'>&&</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'>&&</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
|
-
|
5064
|
-
</span>
|
5065
|
-
</span>
|
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
|
-
|
5070
|
-
|
5071
|
-
|
5072
|
-
|
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'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</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
|
-
|
5076
|
-
|
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
|
-
|
5079
|
-
</span>
|
5080
|
-
</span>
|
5081
|
-
</span>
|
5082
|
-
|
5083
|
-
|
5084
|
-
|
5085
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
5086
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Array</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>include?</span><span class='tstring_end'>"</span></span>
|
4942
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
4943
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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
|
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'>
|
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'>
|
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'>&&</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='
|
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'>&&</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'>&&</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`,
|
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't require a meta argument.
|
5441
5291
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
|
5442
|
-
<span class='
|
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
|
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>
|
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'>
|
5482
|
-
|
5483
|
-
|
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
|
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'>></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
|
-
|
5525
|
-
</span>
|
5526
|
-
</span>
|
5527
|
-
|
5528
|
-
|
5529
|
-
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</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'>"</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'>"</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
|
-
|
5534
|
-
</span>
|
5535
|
-
</span>
|
5536
|
-
</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'>&&</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'>&&</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'>"</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'>"</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'>"</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'>"</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'>&&</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'>&&</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
|
-
|
5541
|
-
</span>
|
5542
|
-
</span>
|
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
|
-
|
5547
|
-
|
5548
|
-
|
5549
|
-
|
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'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</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
|
-
|
5553
|
-
|
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
|
-
|
5556
|
-
</span>
|
5557
|
-
</span>
|
5558
|
-
</span>
|
5559
|
-
|
5560
|
-
|
5561
|
-
|
5562
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
5563
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Array</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>include?</span><span class='tstring_end'>"</span></span>
|
5403
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
5404
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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
|
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'>
|
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'>
|
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'>&&</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='
|
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'>&&</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'>&&</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`,
|
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't require a meta argument.
|
5918
5752
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
|
5919
|
-
<span class='
|
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
|
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>
|
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'>
|
5959
|
-
|
5960
|
-
|
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
|
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'>></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
|
-
|
6002
|
-
</span>
|
6003
|
-
</span>
|
6004
|
-
|
6005
|
-
|
6006
|
-
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</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'>"</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'>"</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
|
-
|
6011
|
-
</span>
|
6012
|
-
</span>
|
6013
|
-
</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'>&&</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'>&&</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'>"</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'>"</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'>"</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'>"</span></span><span class='rparen'>)</span>
|
6015
5838
|
<span class='kw'>end</span>
|
5839
|
+
<span class='kw'>end</span>
|
6016
5840
|
|
6017
|
-
|
6018
|
-
</span>
|
6019
|
-
</span>
|
6020
|
-
|
6021
|
-
|
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'>&&</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'>&&</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
|
-
|
6024
|
-
|
6025
|
-
|
6026
|
-
|
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'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</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
|
-
|
6030
|
-
|
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
|
-
|
6033
|
-
</span>
|
6034
|
-
</span>
|
6035
|
-
</span>
|
6036
|
-
|
6037
|
-
|
6038
|
-
|
6039
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
6040
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Array</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>include?</span><span class='tstring_end'>"</span></span>
|
5864
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
5865
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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
|
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'>
|
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'>
|
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'>&&</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='
|
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'>&&</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'>&&</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`,
|
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't require a meta argument.
|
6395
6213
|
</span> <span class='kw'>def</span> <span class='id identifier rubyid_meta'>meta</span>
|
6396
|
-
<span class='
|
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
|
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>
|
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'>
|
6436
|
-
|
6437
|
-
|
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
|
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'>></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
|
-
|
6479
|
-
</span>
|
6480
|
-
</span>
|
6481
|
-
|
6482
|
-
|
6483
|
-
<span class='id identifier rubyid_send'>send</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_option'>option</span><span class='embexpr_end'>}</span><span class='tstring_content'>=</span><span class='tstring_end'>"</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'>"</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'>"</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
|
-
|
6488
|
-
</span>
|
6489
|
-
</span>
|
6490
|
-
</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'>&&</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'>&&</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'>"</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'>"</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'>"</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'>"</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'>&&</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'>&&</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
|
-
|
6495
|
-
</span>
|
6496
|
-
</span>
|
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
|
-
|
6501
|
-
|
6502
|
-
|
6503
|
-
|
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'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>, </span><span class='tstring_end'>"</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
|
-
|
6507
|
-
|
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
|
-
|
6510
|
-
</span>
|
6511
|
-
</span>
|
6512
|
-
</span>
|
6513
|
-
|
6514
|
-
|
6515
|
-
|
6516
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
6517
|
-
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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'>"</span><span class='tstring_content'>Array</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>include?</span><span class='tstring_end'>"</span></span>
|
6325
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Regexp</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>match</span><span class='tstring_end'>"</span></span>
|
6326
|
+
<span class='kw'>when</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Proc</span><span class='tstring_end'>"</span></span> <span class='kw'>then</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>call</span><span class='tstring_end'>"</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
|
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'>"</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'>"</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
|
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'>"</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'>"</span></span>
|
@@ -6646,9 +6455,9 @@
|
|
6646
6455
|
</div>
|
6647
6456
|
|
6648
6457
|
<div class="method_details ">
|
6649
|
-
<h3 class="signature " id="
|
6458
|
+
<h3 class="signature " id="default?-instance_method">
|
6650
6459
|
|
6651
|
-
- (<tt>
|
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>
|
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
|
+
—
|
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
|
-
|
6674
|
-
|
6675
|
-
|
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
|
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
|
6684
|
-
<span class='
|
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="
|
6515
|
+
<h3 class="signature " id="execute_action-instance_method">
|
6696
6516
|
|
6697
|
-
- (<tt>
|
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>
|
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
|
-
—
|
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
|
-
|
6737
|
-
|
6738
|
-
|
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
|
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
|
6744
|
-
<span class='
|
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="
|
6559
|
+
<h3 class="signature " id="help?-instance_method">
|
6753
6560
|
|
6754
|
-
- (<tt>Boolean</tt>) <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
|
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
|
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'>"</span><span class='tstring_content'>/</span><span class='tstring_end'>"</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
|
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
|
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>
|
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
|
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.
|
6908
|
+
0.8.7.6 (ruby-2.3.0).
|
7102
6909
|
</div>
|
7103
6910
|
|
7104
6911
|
</body>
|