como 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
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>