como 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/doc/Como/Spec.html CHANGED
@@ -138,12 +138,6 @@
138
138
 
139
139
 
140
140
 
141
-
142
-
143
- <h3 class="inherited">Constants inherited
144
- from <span class='object_link'><a href="ComoCommon.html" title="Como::ComoCommon (class)">ComoCommon</a></span></h3>
145
- <p class="inherited"><span class='object_link'><a href="ComoCommon.html#VERSION-constant" title="Como::ComoCommon::VERSION (constant)">ComoCommon::VERSION</a></span></p>
146
-
147
141
 
148
142
 
149
143
 
@@ -231,7 +225,7 @@
231
225
  <li class="public ">
232
226
  <span class="summary_signature">
233
227
 
234
- <a href="#command-class_method" title="command (class method)">+ (Object) <strong>command</strong>(prog, author, year, defs, config = {}) </a>
228
+ <a href="#command-class_method" title="command (class method)">+ (Object) <strong>command</strong>(prog, author, year, defs = [], config = {}) </a>
235
229
 
236
230
 
237
231
 
@@ -255,7 +249,7 @@
255
249
  <li class="public ">
256
250
  <span class="summary_signature">
257
251
 
258
- <a href="#defineCheck-class_method" title="defineCheck (class method)">+ (Object) <strong>defineCheck</strong>(prog, author, year, defs, config = {}) </a>
252
+ <a href="#defineCheckHelp-class_method" title="defineCheckHelp (class method)">+ (Object) <strong>defineCheckHelp</strong>(prog, author, year, defs, config = {}) </a>
259
253
 
260
254
 
261
255
 
@@ -270,8 +264,7 @@
270
264
 
271
265
 
272
266
  <span class="summary_desc"><div class='inline'>
273
- <p>Same as "defineCheckHelp" except without automatic "help" option
274
- processing.</p>
267
+ <p>Alias for <span class='object_link'><a href="#command-class_method" title="Como::Spec.command (method)">Spec.command</a></span>.</p>
275
268
  </div></span>
276
269
 
277
270
  </li>
@@ -280,7 +273,55 @@ processing.</p>
280
273
  <li class="public ">
281
274
  <span class="summary_signature">
282
275
 
283
- <a href="#defineCheckHelp-class_method" title="defineCheckHelp (class method)">+ (Object) <strong>defineCheckHelp</strong>(prog, author, year, defs, config = {}) </a>
276
+ <a href="#defineCommand-class_method" title="defineCommand (class method)">+ (Object) <strong>defineCommand</strong>(prog, author, year, defs, config = {}) </a>
277
+
278
+
279
+
280
+ </span>
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+ <span class="summary_desc"><div class='inline'>
291
+ <p>Define options specification for command.</p>
292
+ </div></span>
293
+
294
+ </li>
295
+
296
+
297
+ <li class="public ">
298
+ <span class="summary_signature">
299
+
300
+ <a href="#defineProgram-class_method" title="defineProgram (class method)">+ (Object) <strong>defineProgram</strong>(author, year, config = nil) { ... }</a>
301
+
302
+
303
+
304
+ </span>
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+ <span class="summary_desc"><div class='inline'>
315
+ <p>Define options specification for program.</p>
316
+ </div></span>
317
+
318
+ </li>
319
+
320
+
321
+ <li class="public ">
322
+ <span class="summary_signature">
323
+
324
+ <a href="#execute-class_method" title="execute (class method)">+ (Object) <strong>execute</strong> </a>
284
325
 
285
326
 
286
327
 
@@ -295,7 +336,7 @@ processing.</p>
295
336
 
296
337
 
297
338
  <span class="summary_desc"><div class='inline'>
298
- <p>Alias to Spec.command.</p>
339
+ <p>Perform command line options checking.</p>
299
340
  </div></span>
300
341
 
301
342
  </li>
@@ -400,7 +441,31 @@ processing.</p>
400
441
  <li class="public ">
401
442
  <span class="summary_signature">
402
443
 
403
- <a href="#specify-class_method" title="specify (class method)">+ (Object) <strong>specify</strong>(table) </a>
444
+ <a href="#specify-class_method" title="specify (class method)">+ (Object) <strong>specify</strong>(subcmd, table) </a>
445
+
446
+
447
+
448
+ </span>
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+
457
+
458
+ <span class="summary_desc"><div class='inline'>
459
+ <p>Check/fix options specs and create option objects for the whole table.</p>
460
+ </div></span>
461
+
462
+ </li>
463
+
464
+
465
+ <li class="public ">
466
+ <span class="summary_signature">
467
+
468
+ <a href="#specifyOptOrSub-class_method" title="specifyOptOrSub (class method)">+ (Object) <strong>specifyOptOrSub</strong>(opt_or_sub) </a>
404
469
 
405
470
 
406
471
 
@@ -415,7 +480,7 @@ processing.</p>
415
480
 
416
481
 
417
482
  <span class="summary_desc"><div class='inline'>
418
- <p>Specify and check options spec.</p>
483
+ <p>Check/fix options specs and create option objects for the whole table.</p>
419
484
  </div></span>
420
485
 
421
486
  </li>
@@ -509,7 +574,7 @@ processing.</p>
509
574
  <li class="public ">
510
575
  <span class="summary_signature">
511
576
 
512
- <a href="#subcmd-instance_method" title="#subcmd (instance method)">- (Object) <strong>subcmd</strong>(cmd, defs, config = {}) </a>
577
+ <a href="#subcmd-instance_method" title="#subcmd (instance method)">- (Object) <strong>subcmd</strong>(cmd, defs = [], config = {}) </a>
513
578
 
514
579
 
515
580
 
@@ -611,16 +676,16 @@ processing.</p>
611
676
  <pre class="lines">
612
677
 
613
678
 
614
- 584
615
- 585
616
- 586
617
- 587
618
- 588
619
- 589
620
- 590</pre>
679
+ 627
680
+ 628
681
+ 629
682
+ 630
683
+ 631
684
+ 632
685
+ 633</pre>
621
686
  </td>
622
687
  <td>
623
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 584</span>
688
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 627</span>
624
689
 
625
690
  <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span> <span class='rparen'>)</span>
626
691
  <span class='ivar'>@author</span> <span class='op'>=</span> <span class='id identifier rubyid_author'>author</span>
@@ -667,10 +732,10 @@ processing.</p>
667
732
  <pre class="lines">
668
733
 
669
734
 
670
- 743</pre>
735
+ 796</pre>
671
736
  </td>
672
737
  <td>
673
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 743</span>
738
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 796</span>
674
739
 
675
740
  <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_check'>check</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_rule'>rule</span> <span class='rparen'>)</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_checkRule'>checkRule</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_rule'>rule</span> <span class='rparen'>)</span> <span class='kw'>end</span></pre>
676
741
  </td>
@@ -774,12 +839,12 @@ processing.</p>
774
839
  <pre class="lines">
775
840
 
776
841
 
777
- 769
778
- 770
779
- 771</pre>
842
+ 823
843
+ 824
844
+ 825</pre>
780
845
  </td>
781
846
  <td>
782
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 769</span>
847
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 823</span>
783
848
 
784
849
  <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_checkAlso'>checkAlso</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span><span class='comma'>,</span> <span class='id identifier rubyid_error'>error</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_check'>check</span> <span class='rparen'>)</span>
785
850
  <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_checkAlso'>checkAlso</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span><span class='comma'>,</span> <span class='id identifier rubyid_error'>error</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_check'>check</span> <span class='rparen'>)</span>
@@ -853,18 +918,18 @@ processing.</p>
853
918
  <pre class="lines">
854
919
 
855
920
 
856
- 731
857
- 732
858
- 733
859
- 734
860
- 735
861
- 736
862
- 737
863
- 738
864
- 739</pre>
921
+ 784
922
+ 785
923
+ 786
924
+ 787
925
+ 788
926
+ 789
927
+ 790
928
+ 791
929
+ 792</pre>
865
930
  </td>
866
931
  <td>
867
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 731</span>
932
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 784</span>
868
933
 
869
934
  <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_checkRule'>checkRule</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_rule'>rule</span> <span class='rparen'>)</span>
870
935
  <span class='kw'>if</span> <span class='id identifier rubyid_opt'>opt</span>
@@ -883,7 +948,7 @@ processing.</p>
883
948
  <div class="method_details ">
884
949
  <h3 class="signature " id="command-class_method">
885
950
 
886
- + (<tt>Object</tt>) <strong>command</strong>(prog, author, year, defs, config = {})
951
+ + (<tt>Object</tt>) <strong>command</strong>(prog, author, year, defs = [], config = {})
887
952
 
888
953
 
889
954
 
@@ -958,6 +1023,8 @@ the command line. Performs "usage" display if "help" was selected.</p>
958
1023
  <span class='type'>(<tt>Array&lt;Array&gt;</tt>)</span>
959
1024
 
960
1025
 
1026
+ <em class="default">(defaults to: <tt>[]</tt>)</em>
1027
+
961
1028
 
962
1029
  &mdash;
963
1030
  <div class='inline'>
@@ -993,41 +1060,17 @@ the command line. Performs "usage" display if "help" was selected.</p>
993
1060
  <pre class="lines">
994
1061
 
995
1062
 
996
- 547
997
- 548
998
- 549
999
1063
  550
1000
1064
  551
1001
1065
  552
1002
- 553
1003
- 554
1004
- 555
1005
- 556
1006
- 557
1007
- 558
1008
- 559
1009
- 560
1010
- 561
1011
- 562</pre>
1066
+ 553</pre>
1012
1067
  </td>
1013
1068
  <td>
1014
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 547</span>
1015
-
1016
- <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_command'>command</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
1017
-
1018
- <span class='id identifier rubyid_preHookArgs'>preHookArgs</span> <span class='op'>=</span> <span class='lbrace'>{</span>
1019
- <span class='symbol'>:prog</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span>
1020
- <span class='symbol'>:author</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span>
1021
- <span class='symbol'>:year</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span>
1022
- <span class='symbol'>:defs</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span>
1023
- <span class='symbol'>:config</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_config'>config</span><span class='comma'>,</span>
1024
- <span class='rbrace'>}</span>
1025
-
1026
- <span class='const'>ComoCommon</span><span class='period'>.</span><span class='id identifier rubyid_runHook'>runHook</span><span class='lparen'>(</span> <span class='symbol'>:preHook</span><span class='comma'>,</span> <span class='id identifier rubyid_preHookArgs'>preHookArgs</span> <span class='rparen'>)</span>
1027
-
1028
- <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_defineCheck'>defineCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
1069
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 550</span>
1029
1070
 
1030
- <span class='const'>ComoCommon</span><span class='period'>.</span><span class='id identifier rubyid_runHook'>runHook</span><span class='lparen'>(</span> <span class='symbol'>:postHook</span><span class='comma'>,</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span> <span class='rparen'>)</span>
1071
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_command'>command</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
1072
+ <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_defineCommand'>defineCommand</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
1073
+ <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_execute'>execute</span>
1031
1074
  <span class='kw'>end</span></pre>
1032
1075
  </td>
1033
1076
  </tr>
@@ -1035,9 +1078,9 @@ the command line. Performs "usage" display if "help" was selected.</p>
1035
1078
  </div>
1036
1079
 
1037
1080
  <div class="method_details ">
1038
- <h3 class="signature " id="defineCheck-class_method">
1081
+ <h3 class="signature " id="defineCheckHelp-class_method">
1039
1082
 
1040
- + (<tt>Object</tt>) <strong>defineCheck</strong>(prog, author, year, defs, config = {})
1083
+ + (<tt>Object</tt>) <strong>defineCheckHelp</strong>(prog, author, year, defs, config = {})
1041
1084
 
1042
1085
 
1043
1086
 
@@ -1046,8 +1089,9 @@ the command line. Performs "usage" display if "help" was selected.</p>
1046
1089
  </h3><div class="docstring">
1047
1090
  <div class="discussion">
1048
1091
 
1049
- <p>Same as "defineCheckHelp" except without automatic "help" option
1050
- processing.</p>
1092
+ <p>Alias for <span class='object_link'><a href="#command-class_method" title="Como::Spec.command (method)">command</a></span>.</p>
1093
+
1094
+ <p>NOTE: This method is deprecated and will be removed in future releases.</p>
1051
1095
 
1052
1096
 
1053
1097
  </div>
@@ -1061,19 +1105,15 @@ processing.</p>
1061
1105
  <pre class="lines">
1062
1106
 
1063
1107
 
1064
- 573
1065
- 574
1066
- 575
1067
- 576
1068
- 577</pre>
1108
+ 611
1109
+ 612
1110
+ 613</pre>
1069
1111
  </td>
1070
1112
  <td>
1071
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 573</span>
1113
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 611</span>
1072
1114
 
1073
- <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_defineCheck'>defineCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
1074
- <span class='id identifier rubyid_spec'>spec</span> <span class='op'>=</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span> <span class='rparen'>)</span>
1075
- <span class='id identifier rubyid_spec'>spec</span><span class='period'>.</span><span class='id identifier rubyid_subcmd'>subcmd</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
1076
- <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_check'>check</span><span class='lparen'>(</span> <span class='const'>ArgsParseState</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='cvar'>@@argv</span> <span class='rparen'>)</span> <span class='rparen'>)</span>
1115
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_defineCheckHelp'>defineCheckHelp</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
1116
+ <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_command'>command</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
1077
1117
  <span class='kw'>end</span></pre>
1078
1118
  </td>
1079
1119
  </tr>
@@ -1081,9 +1121,9 @@ processing.</p>
1081
1121
  </div>
1082
1122
 
1083
1123
  <div class="method_details ">
1084
- <h3 class="signature " id="defineCheckHelp-class_method">
1124
+ <h3 class="signature " id="defineCommand-class_method">
1085
1125
 
1086
- + (<tt>Object</tt>) <strong>defineCheckHelp</strong>(prog, author, year, defs, config = {})
1126
+ + (<tt>Object</tt>) <strong>defineCommand</strong>(prog, author, year, defs, config = {})
1087
1127
 
1088
1128
 
1089
1129
 
@@ -1092,13 +1132,100 @@ processing.</p>
1092
1132
  </h3><div class="docstring">
1093
1133
  <div class="discussion">
1094
1134
 
1095
- <p>Alias to Spec.command.</p>
1135
+ <p>Define options specification for command. User should perform
1136
+ <span class='object_link'><a href="#execute-class_method" title="Como::Spec.execute (method)">execute</a></span> separately.</p>
1096
1137
 
1097
1138
 
1098
1139
  </div>
1099
1140
  </div>
1100
1141
  <div class="tags">
1142
+ <p class="tag_title">Parameters:</p>
1143
+ <ul class="param">
1144
+
1145
+ <li>
1146
+
1147
+ <span class='name'>prog</span>
1148
+
1149
+
1150
+ <span class='type'>(<tt>String</tt>)</span>
1151
+
1152
+
1153
+
1154
+ &mdash;
1155
+ <div class='inline'>
1156
+ <p>Program (i.e. command) name.</p>
1157
+ </div>
1158
+
1159
+ </li>
1160
+
1161
+ <li>
1162
+
1163
+ <span class='name'>author</span>
1164
+
1165
+
1166
+ <span class='type'>(<tt>String</tt>)</span>
1167
+
1168
+
1169
+
1170
+ &mdash;
1171
+ <div class='inline'>
1172
+ <p>Author of the program.</p>
1173
+ </div>
1174
+
1175
+ </li>
1176
+
1177
+ <li>
1178
+
1179
+ <span class='name'>year</span>
1180
+
1181
+
1182
+ <span class='type'>(<tt>String</tt>)</span>
1183
+
1184
+
1185
+
1186
+ &mdash;
1187
+ <div class='inline'>
1188
+ <p>Year (or dates) for program.</p>
1189
+ </div>
1190
+
1191
+ </li>
1192
+
1193
+ <li>
1194
+
1195
+ <span class='name'>defs</span>
1196
+
1197
+
1198
+ <span class='type'>(<tt>Array&lt;Array&gt;</tt>)</span>
1199
+
1200
+
1201
+
1202
+ &mdash;
1203
+ <div class='inline'>
1204
+ <p>Option definitions.</p>
1205
+ </div>
1206
+
1207
+ </li>
1208
+
1209
+ <li>
1210
+
1211
+ <span class='name'>config</span>
1212
+
1213
+
1214
+ <span class='type'>(<tt>Hash</tt>)</span>
1215
+
1216
+
1217
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1218
+
1219
+
1220
+ &mdash;
1221
+ <div class='inline'>
1222
+ <p>Option definition’s behavioral config (changes @@config defaults).</p>
1223
+ </div>
1224
+
1225
+ </li>
1101
1226
 
1227
+ </ul>
1228
+
1102
1229
 
1103
1230
  </div><table class="source_code">
1104
1231
  <tr>
@@ -1106,15 +1233,39 @@ processing.</p>
1106
1233
  <pre class="lines">
1107
1234
 
1108
1235
 
1109
- 566
1110
- 567
1111
- 568</pre>
1236
+ 590
1237
+ 591
1238
+ 592
1239
+ 593
1240
+ 594
1241
+ 595
1242
+ 596
1243
+ 597
1244
+ 598
1245
+ 599
1246
+ 600
1247
+ 601
1248
+ 602
1249
+ 603
1250
+ 604</pre>
1112
1251
  </td>
1113
1252
  <td>
1114
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 566</span>
1253
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 590</span>
1115
1254
 
1116
- <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_defineCheckHelp'>defineCheckHelp</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
1117
- <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_command'>command</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
1255
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_defineCommand'>defineCommand</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
1256
+
1257
+ <span class='id identifier rubyid_preHookArgs'>preHookArgs</span> <span class='op'>=</span> <span class='lbrace'>{</span>
1258
+ <span class='symbol'>:prog</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span>
1259
+ <span class='symbol'>:author</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span>
1260
+ <span class='symbol'>:year</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span>
1261
+ <span class='symbol'>:defs</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span>
1262
+ <span class='symbol'>:config</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_config'>config</span><span class='comma'>,</span>
1263
+ <span class='rbrace'>}</span>
1264
+
1265
+ <span class='const'>ComoCommon</span><span class='period'>.</span><span class='id identifier rubyid_runHook'>runHook</span><span class='lparen'>(</span> <span class='symbol'>:preHook</span><span class='comma'>,</span> <span class='id identifier rubyid_preHookArgs'>preHookArgs</span> <span class='rparen'>)</span>
1266
+
1267
+ <span class='id identifier rubyid_spec'>spec</span> <span class='op'>=</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span> <span class='rparen'>)</span>
1268
+ <span class='id identifier rubyid_spec'>spec</span><span class='period'>.</span><span class='id identifier rubyid_subcmd'>subcmd</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
1118
1269
  <span class='kw'>end</span></pre>
1119
1270
  </td>
1120
1271
  </tr>
@@ -1122,9 +1273,9 @@ processing.</p>
1122
1273
  </div>
1123
1274
 
1124
1275
  <div class="method_details ">
1125
- <h3 class="signature " id="program-class_method">
1276
+ <h3 class="signature " id="defineProgram-class_method">
1126
1277
 
1127
- + (<tt>Object</tt>) <strong>program</strong>(author, year, config = nil) { ... }
1278
+ + (<tt>Object</tt>) <strong>defineProgram</strong>(author, year, config = nil) { ... }
1128
1279
 
1129
1280
 
1130
1281
 
@@ -1133,7 +1284,8 @@ processing.</p>
1133
1284
  </h3><div class="docstring">
1134
1285
  <div class="discussion">
1135
1286
 
1136
- <p>Create specification for program with subcmds.</p>
1287
+ <p>Define options specification for program. User should perform
1288
+ <span class='object_link'><a href="#execute-class_method" title="Como::Spec.execute (method)">execute</a></span> separately.</p>
1137
1289
 
1138
1290
 
1139
1291
  </div>
@@ -1203,32 +1355,28 @@ processing.</p>
1203
1355
  <pre class="lines">
1204
1356
 
1205
1357
 
1206
- 515
1207
- 516
1208
- 517
1209
- 518
1210
- 519
1211
- 520
1212
- 521
1213
- 522
1214
- 523
1215
- 524
1216
- 525
1217
- 526
1218
- 527
1219
- 528
1220
- 529
1221
- 530
1222
- 531
1223
- 532
1224
- 533
1225
- 534</pre>
1358
+ 562
1359
+ 563
1360
+ 564
1361
+ 565
1362
+ 566
1363
+ 567
1364
+ 568
1365
+ 569
1366
+ 570
1367
+ 571
1368
+ 572
1369
+ 573
1370
+ 574
1371
+ 575
1372
+ 576
1373
+ 577
1374
+ 578</pre>
1226
1375
  </td>
1227
1376
  <td>
1228
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 515</span>
1229
-
1230
- <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_program'>program</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_defs'>defs</span> <span class='rparen'>)</span>
1377
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 562</span>
1231
1378
 
1379
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_defineProgram'>defineProgram</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_defs'>defs</span> <span class='rparen'>)</span>
1232
1380
  <span class='id identifier rubyid_preHookArgs'>preHookArgs</span> <span class='op'>=</span> <span class='lbrace'>{</span>
1233
1381
  <span class='symbol'>:author</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span>
1234
1382
  <span class='symbol'>:year</span> <span class='op'>=&gt;</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span>
@@ -1241,11 +1389,9 @@ processing.</p>
1241
1389
  <span class='kw'>if</span> <span class='id identifier rubyid_config'>config</span>
1242
1390
  <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_configOverlay'>configOverlay</span><span class='lparen'>(</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
1243
1391
  <span class='kw'>end</span>
1392
+
1244
1393
  <span class='id identifier rubyid_spec'>spec</span> <span class='op'>=</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span> <span class='rparen'>)</span>
1245
1394
  <span class='id identifier rubyid_spec'>spec</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span><span class='lparen'>(</span> <span class='op'>&amp;</span><span class='id identifier rubyid_defs'>defs</span> <span class='rparen'>)</span>
1246
- <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_check'>check</span><span class='lparen'>(</span> <span class='const'>ArgsParseState</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='cvar'>@@argv</span> <span class='rparen'>)</span> <span class='rparen'>)</span>
1247
-
1248
- <span class='const'>ComoCommon</span><span class='period'>.</span><span class='id identifier rubyid_runHook'>runHook</span><span class='lparen'>(</span> <span class='symbol'>:postHook</span><span class='comma'>,</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span> <span class='rparen'>)</span>
1249
1395
  <span class='kw'>end</span></pre>
1250
1396
  </td>
1251
1397
  </tr>
@@ -1253,9 +1399,9 @@ processing.</p>
1253
1399
  </div>
1254
1400
 
1255
1401
  <div class="method_details ">
1256
- <h3 class="signature " id="setArgv-class_method">
1402
+ <h3 class="signature " id="execute-class_method">
1257
1403
 
1258
- + (<tt>Object</tt>) <strong>setArgv</strong>(newArgv)
1404
+ + (<tt>Object</tt>) <strong>execute</strong>
1259
1405
 
1260
1406
 
1261
1407
 
@@ -1264,7 +1410,7 @@ processing.</p>
1264
1410
  </h3><div class="docstring">
1265
1411
  <div class="discussion">
1266
1412
 
1267
- <p>Set command line options source, i.e. @@argv (default: ARGV).</p>
1413
+ <p>Perform command line options checking.</p>
1268
1414
 
1269
1415
 
1270
1416
  </div>
@@ -1278,15 +1424,17 @@ processing.</p>
1278
1424
  <pre class="lines">
1279
1425
 
1280
1426
 
1281
- 705
1282
- 706
1283
- 707</pre>
1427
+ 617
1428
+ 618
1429
+ 619
1430
+ 620</pre>
1284
1431
  </td>
1285
1432
  <td>
1286
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 705</span>
1433
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 617</span>
1287
1434
 
1288
- <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_setArgv'>setArgv</span><span class='lparen'>(</span> <span class='id identifier rubyid_newArgv'>newArgv</span> <span class='rparen'>)</span>
1289
- <span class='cvar'>@@argv</span> <span class='op'>=</span> <span class='id identifier rubyid_newArgv'>newArgv</span>
1435
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_execute'>execute</span>
1436
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_check'>check</span><span class='lparen'>(</span> <span class='const'>ArgsParseState</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='cvar'>@@argv</span> <span class='rparen'>)</span> <span class='rparen'>)</span>
1437
+ <span class='const'>ComoCommon</span><span class='period'>.</span><span class='id identifier rubyid_runHook'>runHook</span><span class='lparen'>(</span> <span class='symbol'>:postHook</span><span class='comma'>,</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span> <span class='rparen'>)</span>
1290
1438
  <span class='kw'>end</span></pre>
1291
1439
  </td>
1292
1440
  </tr>
@@ -1294,9 +1442,9 @@ processing.</p>
1294
1442
  </div>
1295
1443
 
1296
1444
  <div class="method_details ">
1297
- <h3 class="signature " id="setUsageFooter-class_method">
1445
+ <h3 class="signature " id="program-class_method">
1298
1446
 
1299
- + (<tt>Object</tt>) <strong>setUsageFooter</strong>(str)
1447
+ + (<tt>Object</tt>) <strong>program</strong>(author, year, config = nil) { ... }
1300
1448
 
1301
1449
 
1302
1450
 
@@ -1305,26 +1453,166 @@ processing.</p>
1305
1453
  </h3><div class="docstring">
1306
1454
  <div class="discussion">
1307
1455
 
1308
- <p>Set optional footer for "usage".</p>
1456
+ <p>Create specification for program with subcmds.</p>
1309
1457
 
1310
1458
 
1311
1459
  </div>
1312
1460
  </div>
1313
1461
  <div class="tags">
1462
+ <p class="tag_title">Parameters:</p>
1463
+ <ul class="param">
1314
1464
 
1315
-
1316
- </div><table class="source_code">
1317
- <tr>
1465
+ <li>
1466
+
1467
+ <span class='name'>author</span>
1468
+
1469
+
1470
+ <span class='type'>(<tt>String</tt>)</span>
1471
+
1472
+
1473
+
1474
+ &mdash;
1475
+ <div class='inline'>
1476
+ <p>Program author.</p>
1477
+ </div>
1478
+
1479
+ </li>
1480
+
1481
+ <li>
1482
+
1483
+ <span class='name'>year</span>
1484
+
1485
+
1486
+ <span class='type'>(<tt>String</tt>)</span>
1487
+
1488
+
1489
+
1490
+ &mdash;
1491
+ <div class='inline'>
1492
+ <p>Year (or dates) for program.</p>
1493
+ </div>
1494
+
1495
+ </li>
1496
+
1497
+ </ul>
1498
+
1499
+ <p class="tag_title">Yields:</p>
1500
+ <ul class="yield">
1501
+
1502
+ <li>
1503
+
1504
+
1505
+ <span class='type'></span>
1506
+
1507
+
1508
+
1509
+
1510
+ <div class='inline'><dl class="rdoc-list"><dt></dt>
1511
+ <dd>
1512
+ <p>Subcmd definitions.</p>
1513
+ </dd></dl>
1514
+ </div>
1515
+
1516
+ </li>
1517
+
1518
+ </ul>
1519
+
1520
+ </div><table class="source_code">
1521
+ <tr>
1318
1522
  <td>
1319
1523
  <pre class="lines">
1320
1524
 
1321
1525
 
1322
- 721
1323
- 722
1324
- 723</pre>
1526
+ 534
1527
+ 535
1528
+ 536
1529
+ 537</pre>
1325
1530
  </td>
1326
1531
  <td>
1327
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 721</span>
1532
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 534</span>
1533
+
1534
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_program'>program</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_defs'>defs</span> <span class='rparen'>)</span>
1535
+ <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_defineProgram'>defineProgram</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_defs'>defs</span> <span class='rparen'>)</span>
1536
+ <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_execute'>execute</span>
1537
+ <span class='kw'>end</span></pre>
1538
+ </td>
1539
+ </tr>
1540
+ </table>
1541
+ </div>
1542
+
1543
+ <div class="method_details ">
1544
+ <h3 class="signature " id="setArgv-class_method">
1545
+
1546
+ + (<tt>Object</tt>) <strong>setArgv</strong>(newArgv)
1547
+
1548
+
1549
+
1550
+
1551
+
1552
+ </h3><div class="docstring">
1553
+ <div class="discussion">
1554
+
1555
+ <p>Set command line options source, i.e. @@argv (default: ARGV).</p>
1556
+
1557
+
1558
+ </div>
1559
+ </div>
1560
+ <div class="tags">
1561
+
1562
+
1563
+ </div><table class="source_code">
1564
+ <tr>
1565
+ <td>
1566
+ <pre class="lines">
1567
+
1568
+
1569
+ 758
1570
+ 759
1571
+ 760</pre>
1572
+ </td>
1573
+ <td>
1574
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 758</span>
1575
+
1576
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_setArgv'>setArgv</span><span class='lparen'>(</span> <span class='id identifier rubyid_newArgv'>newArgv</span> <span class='rparen'>)</span>
1577
+ <span class='cvar'>@@argv</span> <span class='op'>=</span> <span class='id identifier rubyid_newArgv'>newArgv</span>
1578
+ <span class='kw'>end</span></pre>
1579
+ </td>
1580
+ </tr>
1581
+ </table>
1582
+ </div>
1583
+
1584
+ <div class="method_details ">
1585
+ <h3 class="signature " id="setUsageFooter-class_method">
1586
+
1587
+ + (<tt>Object</tt>) <strong>setUsageFooter</strong>(str)
1588
+
1589
+
1590
+
1591
+
1592
+
1593
+ </h3><div class="docstring">
1594
+ <div class="discussion">
1595
+
1596
+ <p>Set optional footer for "usage".</p>
1597
+
1598
+
1599
+ </div>
1600
+ </div>
1601
+ <div class="tags">
1602
+
1603
+
1604
+ </div><table class="source_code">
1605
+ <tr>
1606
+ <td>
1607
+ <pre class="lines">
1608
+
1609
+
1610
+ 774
1611
+ 775
1612
+ 776</pre>
1613
+ </td>
1614
+ <td>
1615
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 774</span>
1328
1616
 
1329
1617
  <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_setUsageFooter'>setUsageFooter</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
1330
1618
  <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_setUsageFooter'>setUsageFooter</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
@@ -1360,12 +1648,12 @@ processing.</p>
1360
1648
  <pre class="lines">
1361
1649
 
1362
1650
 
1363
- 715
1364
- 716
1365
- 717</pre>
1651
+ 768
1652
+ 769
1653
+ 770</pre>
1366
1654
  </td>
1367
1655
  <td>
1368
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 715</span>
1656
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 768</span>
1369
1657
 
1370
1658
  <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_setUsageHeader'>setUsageHeader</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
1371
1659
  <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_setUsageHeader'>setUsageHeader</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
@@ -1378,7 +1666,7 @@ processing.</p>
1378
1666
  <div class="method_details ">
1379
1667
  <h3 class="signature " id="specify-class_method">
1380
1668
 
1381
- + (<tt>Object</tt>) <strong>specify</strong>(table)
1669
+ + (<tt>Object</tt>) <strong>specify</strong>(subcmd, table)
1382
1670
 
1383
1671
 
1384
1672
 
@@ -1387,7 +1675,7 @@ processing.</p>
1387
1675
  </h3><div class="docstring">
1388
1676
  <div class="discussion">
1389
1677
 
1390
- <p>Specify and check options spec.</p>
1678
+ <p>Check/fix options specs and create option objects for the whole table.</p>
1391
1679
 
1392
1680
 
1393
1681
  </div>
@@ -1396,6 +1684,22 @@ processing.</p>
1396
1684
  <p class="tag_title">Parameters:</p>
1397
1685
  <ul class="param">
1398
1686
 
1687
+ <li>
1688
+
1689
+ <span class='name'>subcmd</span>
1690
+
1691
+
1692
+ <span class='type'>(<tt><span class='object_link'><a href="Opt.html" title="Como::Opt (class)">Opt</a></span></tt>)</span>
1693
+
1694
+
1695
+
1696
+ &mdash;
1697
+ <div class='inline'>
1698
+ <p>Subcommand target.</p>
1699
+ </div>
1700
+
1701
+ </li>
1702
+
1399
1703
  <li>
1400
1704
 
1401
1705
  <span class='name'>table</span>
@@ -1407,7 +1711,7 @@ processing.</p>
1407
1711
 
1408
1712
  &mdash;
1409
1713
  <div class='inline'>
1410
- <p>Option definition table.</p>
1714
+ <p>Option definition table for subcommand.</p>
1411
1715
  </div>
1412
1716
 
1413
1717
  </li>
@@ -1421,50 +1725,6 @@ processing.</p>
1421
1725
  <pre class="lines">
1422
1726
 
1423
1727
 
1424
- 638
1425
- 639
1426
- 640
1427
- 641
1428
- 642
1429
- 643
1430
- 644
1431
- 645
1432
- 646
1433
- 647
1434
- 648
1435
- 649
1436
- 650
1437
- 651
1438
- 652
1439
- 653
1440
- 654
1441
- 655
1442
- 656
1443
- 657
1444
- 658
1445
- 659
1446
- 660
1447
- 661
1448
- 662
1449
- 663
1450
- 664
1451
- 665
1452
- 666
1453
- 667
1454
- 668
1455
- 669
1456
- 670
1457
- 671
1458
- 672
1459
- 673
1460
- 674
1461
- 675
1462
- 676
1463
- 677
1464
- 678
1465
- 679
1466
- 680
1467
- 681
1468
1728
  682
1469
1729
  683
1470
1730
  684
@@ -1481,12 +1741,14 @@ processing.</p>
1481
1741
  695
1482
1742
  696
1483
1743
  697
1484
- 698</pre>
1744
+ 698
1745
+ 699
1746
+ 700</pre>
1485
1747
  </td>
1486
1748
  <td>
1487
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 638</span>
1749
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 682</span>
1488
1750
 
1489
- <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_specify'>specify</span><span class='lparen'>(</span> <span class='id identifier rubyid_table'>table</span> <span class='rparen'>)</span>
1751
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_specify'>specify</span><span class='lparen'>(</span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='comma'>,</span> <span class='id identifier rubyid_table'>table</span> <span class='rparen'>)</span>
1490
1752
 
1491
1753
  <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1492
1754
  <span class='id identifier rubyid_subcmds'>subcmds</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
@@ -1494,58 +1756,159 @@ processing.</p>
1494
1756
  <span class='comment'># Type checks for valid user input.
1495
1757
  </span> <span class='const'>Spec</span><span class='period'>.</span><span class='const'>ArgCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>==</span> <span class='const'>Array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Option table is not an Array</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
1496
1758
 
1497
- <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_each_index'>each_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_idx'>idx</span><span class='op'>|</span>
1759
+ <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_e'>e</span><span class='op'>|</span>
1760
+ <span class='id identifier rubyid_os'>os</span> <span class='op'>=</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_specifyOptOrSub'>specifyOptOrSub</span><span class='lparen'>(</span> <span class='id identifier rubyid_e'>e</span> <span class='rparen'>)</span>
1761
+ <span class='kw'>case</span> <span class='id identifier rubyid_os'>os</span><span class='period'>.</span><span class='id identifier rubyid_type'>type</span>
1762
+ <span class='kw'>when</span> <span class='symbol'>:subcmd</span><span class='semicolon'>;</span> <span class='id identifier rubyid_subcmds'>subcmds</span><span class='lbracket'>[</span> <span class='id identifier rubyid_os'>os</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_os'>os</span>
1763
+ <span class='kw'>else</span> <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span> <span class='id identifier rubyid_os'>os</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_os'>os</span>
1764
+ <span class='kw'>end</span>
1765
+ <span class='kw'>end</span>
1498
1766
 
1499
- <span class='id identifier rubyid_i'>i</span> <span class='op'>=</span> <span class='id identifier rubyid_table'>table</span><span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbracket'>]</span>
1767
+ <span class='id identifier rubyid_subcmd'>subcmd</span><span class='period'>.</span><span class='id identifier rubyid_setOptionSubcmd'>setOptionSubcmd</span><span class='lparen'>(</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span><span class='comma'>,</span> <span class='id identifier rubyid_subcmds'>subcmds</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span> <span class='rparen'>)</span>
1768
+ <span class='id identifier rubyid_subcmd'>subcmd</span>
1769
+ <span class='kw'>end</span></pre>
1770
+ </td>
1771
+ </tr>
1772
+ </table>
1773
+ </div>
1774
+
1775
+ <div class="method_details ">
1776
+ <h3 class="signature " id="specifyOptOrSub-class_method">
1777
+
1778
+ + (<tt>Object</tt>) <strong>specifyOptOrSub</strong>(opt_or_sub)
1779
+
1500
1780
 
1501
- <span class='const'>Spec</span><span class='period'>.</span><span class='const'>ArgCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>==</span> <span class='const'>Array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Option table entry is not an Array</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
1781
+
1502
1782
 
1503
- <span class='kw'>if</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='symbol'>:default</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span>
1783
+
1784
+ </h3><div class="docstring">
1785
+ <div class="discussion">
1786
+
1787
+ <p>Check/fix options specs and create option objects for the whole table.</p>
1504
1788
 
1505
- <span class='comment'># Add 2 dummy entries for :default type if needed.
1506
- </span> <span class='id identifier rubyid_table'>table</span><span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='rbracket'>]</span>
1507
1789
 
1508
- <span class='kw'>elsif</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='symbol'>:subcmd</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>3</span>
1790
+ </div>
1791
+ </div>
1792
+ <div class="tags">
1793
+ <p class="tag_title">Parameters:</p>
1794
+ <ul class="param">
1795
+
1796
+ <li>
1797
+
1798
+ <span class='name'>opt_or_sub</span>
1799
+
1800
+
1801
+ <span class='type'>(<tt>Array&lt;Array&gt;</tt>)</span>
1802
+
1803
+
1804
+
1805
+ &mdash;
1806
+ <div class='inline'>
1807
+ <p>Option definition table.</p>
1808
+ </div>
1809
+
1810
+ </li>
1811
+
1812
+ </ul>
1509
1813
 
1510
- <span class='comment'># Add 1 dummy entry for :subcmd type if needed.
1511
- </span> <span class='id identifier rubyid_table'>table</span><span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span> <span class='rbracket'>]</span>
1512
- <span class='kw'>end</span>
1513
1814
 
1514
- <span class='const'>Spec</span><span class='period'>.</span><span class='const'>ArgCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_table'>table</span><span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>4</span><span class='comma'>,</span>
1515
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Option table entry length not 4</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
1516
- <span class='kw'>end</span>
1815
+ </div><table class="source_code">
1816
+ <tr>
1817
+ <td>
1818
+ <pre class="lines">
1517
1819
 
1518
1820
 
1519
- <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_e'>e</span><span class='op'>|</span>
1821
+ 708
1822
+ 709
1823
+ 710
1824
+ 711
1825
+ 712
1826
+ 713
1827
+ 714
1828
+ 715
1829
+ 716
1830
+ 717
1831
+ 718
1832
+ 719
1833
+ 720
1834
+ 721
1835
+ 722
1836
+ 723
1837
+ 724
1838
+ 725
1839
+ 726
1840
+ 727
1841
+ 728
1842
+ 729
1843
+ 730
1844
+ 731
1845
+ 732
1846
+ 733
1847
+ 734
1848
+ 735
1849
+ 736
1850
+ 737
1851
+ 738
1852
+ 739
1853
+ 740
1854
+ 741
1855
+ 742
1856
+ 743
1857
+ 744
1858
+ 745
1859
+ 746
1860
+ 747
1861
+ 748
1862
+ 749
1863
+ 750
1864
+ 751</pre>
1865
+ </td>
1866
+ <td>
1867
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 708</span>
1520
1868
 
1521
- <span class='kw'>if</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='symbol'>:subcmd</span>
1869
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_specifyOptOrSub'>specifyOptOrSub</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span> <span class='rparen'>)</span>
1522
1870
 
1523
- <span class='id identifier rubyid_subcmds'>subcmds</span><span class='lbracket'>[</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_subcmd'>subcmd</span><span class='lparen'>(</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1871
+ <span class='comment'># Fix the table entries if needed.
1872
+ </span>
1873
+ <span class='const'>Spec</span><span class='period'>.</span><span class='const'>ArgCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>==</span> <span class='const'>Array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Option table entry is not an Array</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
1524
1874
 
1525
- <span class='kw'>else</span>
1875
+ <span class='kw'>if</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='symbol'>:default</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span>
1526
1876
 
1527
- <span class='id identifier rubyid_option'>option</span> <span class='op'>=</span> <span class='kw'>nil</span>
1877
+ <span class='comment'># Add 2 dummy entries for :default type if needed.
1878
+ </span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='rbracket'>]</span>
1528
1879
 
1529
- <span class='kw'>case</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
1880
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='symbol'>:subcmd</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>3</span>
1530
1881
 
1531
- <span class='kw'>when</span> <span class='symbol'>:switch</span><span class='comma'>,</span> <span class='symbol'>:exclusive</span><span class='comma'>,</span> <span class='symbol'>:silent</span><span class='comma'>,</span> <span class='symbol'>:single</span><span class='comma'>,</span> <span class='symbol'>:multi</span><span class='comma'>,</span>
1532
- <span class='symbol'>:opt_single</span><span class='comma'>,</span> <span class='symbol'>:opt_multi</span><span class='comma'>,</span> <span class='symbol'>:opt_any</span>
1533
- <span class='id identifier rubyid_option'>option</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_full'>full</span><span class='lparen'>(</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1882
+ <span class='comment'># Add 1 dummy entry for :subcmd type if needed.
1883
+ </span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span> <span class='rbracket'>]</span>
1534
1884
 
1535
- <span class='kw'>when</span> <span class='symbol'>:default</span>
1536
- <span class='id identifier rubyid_option'>option</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_defaultOpt'>defaultOpt</span><span class='lparen'>(</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1885
+ <span class='kw'>end</span>
1886
+
1887
+ <span class='const'>Spec</span><span class='period'>.</span><span class='const'>ArgCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>4</span><span class='comma'>,</span>
1888
+ <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Option table entry length not 4</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
1889
+
1890
+ <span class='kw'>if</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='symbol'>:subcmd</span>
1537
1891
 
1538
- <span class='kw'>else</span>
1539
- <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Unknown option type: \&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'>\&quot;...</span><span class='tstring_end'>&quot;</span></span>
1540
- <span class='kw'>end</span>
1892
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_subcmd'>subcmd</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1893
+
1894
+ <span class='kw'>else</span>
1541
1895
 
1542
- <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span> <span class='id identifier rubyid_option'>option</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_option'>option</span>
1896
+ <span class='kw'>case</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
1897
+
1898
+ <span class='kw'>when</span> <span class='symbol'>:switch</span><span class='comma'>,</span> <span class='symbol'>:exclusive</span><span class='comma'>,</span> <span class='symbol'>:silent</span><span class='comma'>,</span> <span class='symbol'>:single</span><span class='comma'>,</span> <span class='symbol'>:multi</span><span class='comma'>,</span>
1899
+ <span class='symbol'>:opt_single</span><span class='comma'>,</span> <span class='symbol'>:opt_multi</span><span class='comma'>,</span> <span class='symbol'>:opt_any</span>
1900
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_full'>full</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1901
+
1902
+ <span class='kw'>when</span> <span class='symbol'>:default</span>
1903
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_defaultOpt'>defaultOpt</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1904
+
1905
+ <span class='kw'>else</span>
1906
+ <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Unknown option type: \&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_opt_or_sub'>opt_or_sub</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'>\&quot;...</span><span class='tstring_end'>&quot;</span></span>
1543
1907
 
1544
1908
  <span class='kw'>end</span>
1545
1909
 
1546
1910
  <span class='kw'>end</span>
1547
1911
 
1548
- <span class='lbracket'>[</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span><span class='comma'>,</span> <span class='id identifier rubyid_subcmds'>subcmds</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span> <span class='rbracket'>]</span>
1549
1912
  <span class='kw'>end</span></pre>
1550
1913
  </td>
1551
1914
  </tr>
@@ -1578,12 +1941,12 @@ processing.</p>
1578
1941
  <pre class="lines">
1579
1942
 
1580
1943
 
1581
- 710
1582
- 711
1583
- 712</pre>
1944
+ 763
1945
+ 764
1946
+ 765</pre>
1584
1947
  </td>
1585
1948
  <td>
1586
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 710</span>
1949
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 763</span>
1587
1950
 
1588
1951
  <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_usage'>usage</span>
1589
1952
  <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_usage'>usage</span>
@@ -1667,17 +2030,17 @@ processing.</p>
1667
2030
  <pre class="lines">
1668
2031
 
1669
2032
 
1670
- 750
1671
- 751
1672
- 752
1673
- 753
1674
- 754
1675
- 755
1676
- 756
1677
- 757</pre>
2033
+ 803
2034
+ 804
2035
+ 805
2036
+ 806
2037
+ 807
2038
+ 808
2039
+ 809
2040
+ 810</pre>
1678
2041
  </td>
1679
2042
  <td>
1680
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 750</span>
2043
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 803</span>
1681
2044
 
1682
2045
  <span class='kw'>def</span> <span class='id identifier rubyid_checkRule'>checkRule</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_rule'>rule</span> <span class='rparen'>)</span>
1683
2046
  <span class='kw'>if</span> <span class='id identifier rubyid_opt'>opt</span>
@@ -1695,7 +2058,7 @@ processing.</p>
1695
2058
  <div class="method_details ">
1696
2059
  <h3 class="signature " id="subcmd-instance_method">
1697
2060
 
1698
- - (<tt>Object</tt>) <strong>subcmd</strong>(cmd, defs, config = {})
2061
+ - (<tt>Object</tt>) <strong>subcmd</strong>(cmd, defs = [], config = {})
1699
2062
 
1700
2063
 
1701
2064
 
@@ -1741,6 +2104,8 @@ processing.</p>
1741
2104
  <span class='type'>(<tt>Array&lt;Array&gt;</tt>)</span>
1742
2105
 
1743
2106
 
2107
+ <em class="default">(defaults to: <tt>[]</tt>)</em>
2108
+
1744
2109
 
1745
2110
  &mdash;
1746
2111
  <div class='inline'>
@@ -1778,42 +2143,41 @@ processing.</p>
1778
2143
  <pre class="lines">
1779
2144
 
1780
2145
 
1781
- 598
1782
- 599
1783
- 600
1784
- 601
1785
- 602
1786
- 603
1787
- 604
1788
- 605
1789
- 606
1790
- 607
1791
- 608
1792
- 609
1793
- 610
1794
- 611
1795
- 612
1796
- 613
1797
- 614
1798
- 615
1799
- 616
1800
- 617
1801
- 618
1802
- 619
1803
- 620
1804
- 621
1805
- 622
1806
- 623
1807
- 624
1808
- 625
1809
- 626
1810
- 627
1811
- 628</pre>
2146
+ 641
2147
+ 642
2148
+ 643
2149
+ 644
2150
+ 645
2151
+ 646
2152
+ 647
2153
+ 648
2154
+ 649
2155
+ 650
2156
+ 651
2157
+ 652
2158
+ 653
2159
+ 654
2160
+ 655
2161
+ 656
2162
+ 657
2163
+ 658
2164
+ 659
2165
+ 660
2166
+ 661
2167
+ 662
2168
+ 663
2169
+ 664
2170
+ 665
2171
+ 666
2172
+ 667
2173
+ 668
2174
+ 669
2175
+ 670</pre>
1812
2176
  </td>
1813
2177
  <td>
1814
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 598</span>
2178
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 641</span>
1815
2179
 
1816
- <span class='kw'>def</span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='lparen'>(</span> <span class='id identifier rubyid_cmd'>cmd</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
2180
+ <span class='kw'>def</span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='lparen'>(</span> <span class='id identifier rubyid_cmd'>cmd</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
1817
2181
 
1818
2182
  <span class='kw'>unless</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span>
1819
2183
 
@@ -1840,8 +2204,7 @@ processing.</p>
1840
2204
  </span> <span class='id identifier rubyid_defs'>defs</span><span class='period'>.</span><span class='id identifier rubyid_insert'>insert</span><span class='lparen'>(</span> <span class='int'>0</span><span class='comma'>,</span> <span class='lbracket'>[</span> <span class='symbol'>:silent</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>help</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>-h</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Display usage info.</span><span class='tstring_end'>&quot;</span></span> <span class='rbracket'>]</span> <span class='rparen'>)</span>
1841
2205
  <span class='kw'>end</span>
1842
2206
 
1843
- <span class='id identifier rubyid_subcmd'>subcmd</span><span class='period'>.</span><span class='id identifier rubyid_setSubopt'>setSubopt</span><span class='lparen'>(</span> <span class='op'>*</span><span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_specify'>specify</span><span class='lparen'>(</span> <span class='id identifier rubyid_defs'>defs</span> <span class='rparen'>)</span> <span class='rparen'>)</span>
1844
- <span class='id identifier rubyid_subcmd'>subcmd</span>
2207
+ <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_specify'>specify</span><span class='lparen'>(</span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span> <span class='rparen'>)</span>
1845
2208
 
1846
2209
  <span class='kw'>end</span></pre>
1847
2210
  </td>
@@ -1854,7 +2217,7 @@ processing.</p>
1854
2217
  </div>
1855
2218
 
1856
2219
  <div id="footer">
1857
- Generated on Wed Jul 9 14:02:42 2014 by
2220
+ Generated on Sat Nov 22 10:05:15 2014 by
1858
2221
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1859
2222
  0.8.6.1 (ruby-1.9.3).
1860
2223
  </div>