como 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/doc/Como/Spec.html CHANGED
@@ -148,6 +148,21 @@
148
148
  </span> <span class='symbol'>:hidden</span>
149
149
  <span class='rbracket'>]</span></pre></dd>
150
150
 
151
+ <dt id="MAP_TYPE_PRIMS-constant" class="">MAP_TYPE_PRIMS =
152
+
153
+ </dt>
154
+ <dd><pre class="code"><span class='lbrace'>{</span>
155
+ <span class='symbol'>:switch</span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span><span class='comma'>,</span>
156
+ <span class='symbol'>:single</span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='symbol'>:one</span> <span class='rbracket'>]</span><span class='comma'>,</span>
157
+ <span class='symbol'>:multi</span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span> <span class='rbracket'>]</span><span class='comma'>,</span>
158
+ <span class='symbol'>:opt_single</span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span><span class='comma'>,</span>
159
+ <span class='symbol'>:opt_multi</span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span><span class='comma'>,</span>
160
+ <span class='symbol'>:opt_any</span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span><span class='comma'>,</span>
161
+ <span class='symbol'>:default</span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span><span class='comma'>,</span> <span class='symbol'>:default</span> <span class='rbracket'>]</span><span class='comma'>,</span>
162
+ <span class='symbol'>:exclusive</span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span><span class='comma'>,</span> <span class='symbol'>:mutex</span> <span class='rbracket'>]</span><span class='comma'>,</span>
163
+ <span class='symbol'>:silent</span> <span class='op'>=&gt;</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:opt</span><span class='comma'>,</span> <span class='symbol'>:hidden</span> <span class='rbracket'>]</span><span class='comma'>,</span>
164
+ <span class='rbrace'>}</span></pre></dd>
165
+
151
166
  <dt id="argv-classvariable" class="">@@argv =
152
167
  <div class="docstring">
153
168
  <div class="discussion">
@@ -787,10 +802,10 @@
787
802
  <pre class="lines">
788
803
 
789
804
 
790
- 886</pre>
805
+ 891</pre>
791
806
  </td>
792
807
  <td>
793
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 886</span>
808
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 891</span>
794
809
 
795
810
  <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>
796
811
  </td>
@@ -894,12 +909,12 @@
894
909
  <pre class="lines">
895
910
 
896
911
 
897
- 913
898
- 914
899
- 915</pre>
912
+ 918
913
+ 919
914
+ 920</pre>
900
915
  </td>
901
916
  <td>
902
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 913</span>
917
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 918</span>
903
918
 
904
919
  <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>
905
920
  <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>
@@ -973,18 +988,18 @@
973
988
  <pre class="lines">
974
989
 
975
990
 
976
- 874
977
- 875
978
- 876
979
- 877
980
- 878
981
991
  879
982
992
  880
983
993
  881
984
- 882</pre>
994
+ 882
995
+ 883
996
+ 884
997
+ 885
998
+ 886
999
+ 887</pre>
985
1000
  </td>
986
1001
  <td>
987
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 874</span>
1002
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 879</span>
988
1003
 
989
1004
  <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>
990
1005
  <span class='kw'>if</span> <span class='id identifier rubyid_opt'>opt</span>
@@ -1522,20 +1537,6 @@ the command line. Performs “usage” display if “help” was selected.</p>
1522
1537
  <pre class="lines">
1523
1538
 
1524
1539
 
1525
- 806
1526
- 807
1527
- 808
1528
- 809
1529
- 810
1530
- 811
1531
- 812
1532
- 813
1533
- 814
1534
- 815
1535
- 816
1536
- 817
1537
- 818
1538
- 819
1539
1540
  820
1540
1541
  821
1541
1542
  822
@@ -1558,27 +1559,23 @@ the command line. Performs “usage” display if “help” was selected.</p>
1558
1559
  839
1559
1560
  840
1560
1561
  841
1561
- 842</pre>
1562
+ 842
1563
+ 843
1564
+ 844
1565
+ 845
1566
+ 846
1567
+ 847</pre>
1562
1568
  </td>
1563
1569
  <td>
1564
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 806</span>
1570
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 820</span>
1565
1571
 
1566
1572
  <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_mapTypeToPrims'>mapTypeToPrims</span><span class='lparen'>(</span> <span class='id identifier rubyid_type'>type</span> <span class='rparen'>)</span>
1567
1573
 
1568
1574
  <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='kw'>nil</span>
1569
1575
 
1570
1576
  <span class='kw'>if</span> <span class='id identifier rubyid_type'>type</span><span class='period'>.</span><span class='id identifier rubyid_kind_of?'>kind_of?</span> <span class='const'>Symbol</span>
1571
- <span class='kw'>case</span> <span class='id identifier rubyid_type'>type</span>
1572
- <span class='kw'>when</span> <span class='symbol'>:switch</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span>
1573
- <span class='kw'>when</span> <span class='symbol'>:single</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:one</span> <span class='rbracket'>]</span>
1574
- <span class='kw'>when</span> <span class='symbol'>:multi</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span> <span class='rbracket'>]</span>
1575
- <span class='kw'>when</span> <span class='symbol'>:opt_single</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span>
1576
- <span class='kw'>when</span> <span class='symbol'>:opt_multi</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span>
1577
- <span class='kw'>when</span> <span class='symbol'>:opt_any</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span> <span class='rbracket'>]</span>
1578
- <span class='kw'>when</span> <span class='symbol'>:default</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span><span class='comma'>,</span> <span class='symbol'>:default</span> <span class='rbracket'>]</span>
1579
- <span class='kw'>when</span> <span class='symbol'>:exclusive</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:one</span><span class='comma'>,</span> <span class='symbol'>:many</span><span class='comma'>,</span> <span class='symbol'>:opt</span><span class='comma'>,</span> <span class='symbol'>:mutex</span> <span class='rbracket'>]</span>
1580
- <span class='kw'>when</span> <span class='symbol'>:silent</span><span class='semicolon'>;</span> <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='symbol'>:none</span><span class='comma'>,</span> <span class='symbol'>:opt</span><span class='comma'>,</span> <span class='symbol'>:hidden</span> <span class='rbracket'>]</span>
1581
- <span class='kw'>else</span>
1577
+ <span class='id identifier rubyid_prims'>prims</span> <span class='op'>=</span> <span class='const'>MAP_TYPE_PRIMS</span><span class='lbracket'>[</span> <span class='id identifier rubyid_type'>type</span> <span class='rbracket'>]</span>
1578
+ <span class='kw'>unless</span> <span class='id identifier rubyid_prims'>prims</span>
1582
1579
  <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_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>\&quot;...</span><span class='tstring_end'>&quot;</span></span>
1583
1580
  <span class='kw'>end</span>
1584
1581
 
@@ -1730,12 +1727,12 @@ the command line. Performs “usage” display if “help” was selected.</p>
1730
1727
  <pre class="lines">
1731
1728
 
1732
1729
 
1733
- 848
1734
- 849
1735
- 850</pre>
1730
+ 853
1731
+ 854
1732
+ 855</pre>
1736
1733
  </td>
1737
1734
  <td>
1738
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 848</span>
1735
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 853</span>
1739
1736
 
1740
1737
  <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>
1741
1738
  <span class='cvar'>@@argv</span> <span class='op'>=</span> <span class='id identifier rubyid_newArgv'>newArgv</span>
@@ -1771,12 +1768,12 @@ the command line. Performs “usage” display if “help” was selected.</p>
1771
1768
  <pre class="lines">
1772
1769
 
1773
1770
 
1774
- 864
1775
- 865
1776
- 866</pre>
1771
+ 869
1772
+ 870
1773
+ 871</pre>
1777
1774
  </td>
1778
1775
  <td>
1779
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 864</span>
1776
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 869</span>
1780
1777
 
1781
1778
  <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>
1782
1779
  <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>
@@ -1812,12 +1809,12 @@ the command line. Performs “usage” display if “help” was selected.</p>
1812
1809
  <pre class="lines">
1813
1810
 
1814
1811
 
1815
- 858
1816
- 859
1817
- 860</pre>
1812
+ 863
1813
+ 864
1814
+ 865</pre>
1818
1815
  </td>
1819
1816
  <td>
1820
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 858</span>
1817
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 863</span>
1821
1818
 
1822
1819
  <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>
1823
1820
  <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>
@@ -1889,7 +1886,6 @@ the command line. Performs “usage” display if “help” was selected.</p>
1889
1886
  <pre class="lines">
1890
1887
 
1891
1888
 
1892
- 716
1893
1889
  717
1894
1890
  718
1895
1891
  719
@@ -1907,10 +1903,11 @@ the command line. Performs “usage” display if “help” was selected.</p>
1907
1903
  731
1908
1904
  732
1909
1905
  733
1910
- 734</pre>
1906
+ 734
1907
+ 735</pre>
1911
1908
  </td>
1912
1909
  <td>
1913
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 716</span>
1910
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 717</span>
1914
1911
 
1915
1912
  <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>
1916
1913
 
@@ -1982,7 +1979,6 @@ the command line. Performs “usage” display if “help” was selected.</p>
1982
1979
  <pre class="lines">
1983
1980
 
1984
1981
 
1985
- 742
1986
1982
  743
1987
1983
  744
1988
1984
  745
@@ -2022,10 +2018,11 @@ the command line. Performs “usage” display if “help” was selected.</p>
2022
2018
  779
2023
2019
  780
2024
2020
  781
2025
- 782</pre>
2021
+ 782
2022
+ 783</pre>
2026
2023
  </td>
2027
2024
  <td>
2028
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 742</span>
2025
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 743</span>
2029
2026
 
2030
2027
  <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>
2031
2028
 
@@ -2099,12 +2096,12 @@ the command line. Performs “usage” display if “help” was selected.</p>
2099
2096
  <pre class="lines">
2100
2097
 
2101
2098
 
2102
- 853
2103
- 854
2104
- 855</pre>
2099
+ 858
2100
+ 859
2101
+ 860</pre>
2105
2102
  </td>
2106
2103
  <td>
2107
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 853</span>
2104
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 858</span>
2108
2105
 
2109
2106
  <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_usage'>usage</span>
2110
2107
  <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>
@@ -2188,17 +2185,17 @@ the command line. Performs “usage” display if “help” was selected.</p>
2188
2185
  <pre class="lines">
2189
2186
 
2190
2187
 
2191
- 893
2192
- 894
2193
- 895
2194
- 896
2195
- 897
2196
2188
  898
2197
2189
  899
2198
- 900</pre>
2190
+ 900
2191
+ 901
2192
+ 902
2193
+ 903
2194
+ 904
2195
+ 905</pre>
2199
2196
  </td>
2200
2197
  <td>
2201
- <pre class="code"><span class="info file"># File 'lib/como.rb', line 893</span>
2198
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 898</span>
2202
2199
 
2203
2200
  <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>
2204
2201
  <span class='kw'>if</span> <span class='id identifier rubyid_opt'>opt</span>
@@ -2330,7 +2327,8 @@ the command line. Performs “usage” display if “help” was selected.</p>
2330
2327
  701
2331
2328
  702
2332
2329
  703
2333
- 704</pre>
2330
+ 704
2331
+ 705</pre>
2334
2332
  </td>
2335
2333
  <td>
2336
2334
  <pre class="code"><span class="info file"># File 'lib/como.rb', line 675</span>
@@ -2358,8 +2356,9 @@ the command line. Performs “usage” display if “help” was selected.</p>
2358
2356
  </span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='period'>.</span><span class='id identifier rubyid_applyConfig'>applyConfig</span><span class='lparen'>(</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
2359
2357
 
2360
2358
  <span class='kw'>if</span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span> <span class='symbol'>:autohelp</span> <span class='rbracket'>]</span>
2361
- <span class='comment'># Automatically add the help option.
2362
- </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>
2359
+ <span class='comment'># Automatically add the help option and make it also mutex.
2360
+ </span> <span class='id identifier rubyid_spec'>spec</span> <span class='op'>=</span> <span class='const'>MAP_TYPE_PRIMS</span><span class='lbracket'>[</span> <span class='symbol'>:silent</span> <span class='rbracket'>]</span> <span class='op'>+</span> <span class='lbracket'>[</span> <span class='symbol'>:mutex</span> <span class='rbracket'>]</span>
2361
+ <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='id identifier rubyid_spec'>spec</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>
2363
2362
  <span class='kw'>end</span>
2364
2363
 
2365
2364
  <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>
@@ -2375,9 +2374,9 @@ the command line. Performs “usage” display if “help” was selected.</p>
2375
2374
  </div>
2376
2375
 
2377
2376
  <div id="footer">
2378
- Generated on Sun Jan 1 15:54:18 2017 by
2377
+ Generated on Fri Feb 17 00:05:17 2017 by
2379
2378
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
2380
- 0.8.7.6 (ruby-2.3.1).
2379
+ 0.8.7.6 (ruby-2.3.3).
2381
2380
  </div>
2382
2381
 
2383
2382
  </body>
data/doc/Como.html CHANGED
@@ -975,9 +975,9 @@ of the internal workings of Como is required though.</p>
975
975
  </div>
976
976
 
977
977
  <div id="footer">
978
- Generated on Sun Jan 1 15:54:18 2017 by
978
+ Generated on Fri Feb 17 00:05:17 2017 by
979
979
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
980
- 0.8.7.6 (ruby-2.3.1).
980
+ 0.8.7.6 (ruby-2.3.3).
981
981
  </div>
982
982
 
983
983
  </body>
data/doc/_index.html CHANGED
@@ -233,9 +233,9 @@
233
233
  </div>
234
234
 
235
235
  <div id="footer">
236
- Generated on Sun Jan 1 15:54:18 2017 by
236
+ Generated on Fri Feb 17 00:05:17 2017 by
237
237
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
238
- 0.8.7.6 (ruby-2.3.1).
238
+ 0.8.7.6 (ruby-2.3.3).
239
239
  </div>
240
240
 
241
241
  </body>
@@ -63,7 +63,10 @@
63
63
 
64
64
  <div id="content"><div id='filecontents'>
65
65
  <h1 id="label-Version+history">Version history</h1>
66
- <dl class="rdoc-list label-list"><dt>0.2.1
66
+ <dl class="rdoc-list label-list"><dt>0.2.2
67
+ <dd>
68
+ <p>Must have “-h” with mutex prim to prevent subcmd error.</p>
69
+ </dd><dt>0.2.1
67
70
  <dd>
68
71
  <p>Handle unknown subcmd/no-default case gracefully.</p>
69
72
  </dd><dt>0.2.0
@@ -125,9 +128,9 @@ settings, i.e. the Opt#params method added.</p>
125
128
  </div></div>
126
129
 
127
130
  <div id="footer">
128
- Generated on Sun Jan 1 15:54:18 2017 by
131
+ Generated on Fri Feb 17 00:05:17 2017 by
129
132
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
130
- 0.8.7.6 (ruby-2.3.1).
133
+ 0.8.7.6 (ruby-2.3.3).
131
134
  </div>
132
135
 
133
136
  </body>
data/doc/file.README.html CHANGED
@@ -92,9 +92,9 @@ similar, but (obviously) not identical.</p>
92
92
  </div></div>
93
93
 
94
94
  <div id="footer">
95
- Generated on Sun Jan 1 15:54:18 2017 by
95
+ Generated on Fri Feb 17 00:05:17 2017 by
96
96
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
97
- 0.8.7.6 (ruby-2.3.1).
97
+ 0.8.7.6 (ruby-2.3.3).
98
98
  </div>
99
99
 
100
100
  </body>
data/doc/index.html CHANGED
@@ -92,9 +92,9 @@ similar, but (obviously) not identical.</p>
92
92
  </div></div>
93
93
 
94
94
  <div id="footer">
95
- Generated on Sun Jan 1 15:54:18 2017 by
95
+ Generated on Fri Feb 17 00:05:17 2017 by
96
96
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
97
- 0.8.7.6 (ruby-2.3.1).
97
+ 0.8.7.6 (ruby-2.3.3).
98
98
  </div>
99
99
 
100
100
  </body>
@@ -103,9 +103,9 @@
103
103
  </div>
104
104
 
105
105
  <div id="footer">
106
- Generated on Sun Jan 1 15:54:18 2017 by
106
+ Generated on Fri Feb 17 00:05:17 2017 by
107
107
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
108
- 0.8.7.6 (ruby-2.3.1).
108
+ 0.8.7.6 (ruby-2.3.3).
109
109
  </div>
110
110
 
111
111
  </body>
data/lib/como.rb CHANGED
@@ -695,8 +695,9 @@ module Como
695
695
  subcmd.applyConfig( config )
696
696
 
697
697
  if subcmd.config[ :autohelp ]
698
- # Automatically add the help option.
699
- defs.insert( 0, [ :silent, "help", "-h", "Display usage info." ] )
698
+ # Automatically add the help option and make it also mutex.
699
+ spec = MAP_TYPE_PRIMS[ :silent ] + [ :mutex ]
700
+ defs.insert( 0, [ spec, "help", "-h", "Display usage info." ] )
700
701
  end
701
702
 
702
703
  Spec.specify( subcmd, defs )
@@ -801,6 +802,19 @@ module Como
801
802
  ]
802
803
 
803
804
 
805
+ MAP_TYPE_PRIMS = {
806
+ :switch => [ :none, :opt ],
807
+ :single => [ :one ],
808
+ :multi => [ :one, :many ],
809
+ :opt_single => [ :one, :opt ],
810
+ :opt_multi => [ :one, :many, :opt ],
811
+ :opt_any => [ :none, :one, :many, :opt ],
812
+ :default => [ :none, :one, :many, :opt, :default ],
813
+ :exclusive => [ :none, :one, :many, :opt, :mutex ],
814
+ :silent => [ :none, :opt, :hidden ],
815
+ }
816
+
817
+
804
818
  # Convert option types (type definitions) to option type
805
819
  # primitives.
806
820
  def Spec.mapTypeToPrims( type )
@@ -808,17 +822,8 @@ module Como
808
822
  prims = nil
809
823
 
810
824
  if type.kind_of? Symbol
811
- case type
812
- when :switch; prims = [ :none, :opt ]
813
- when :single; prims = [ :one ]
814
- when :multi; prims = [ :one, :many ]
815
- when :opt_single; prims = [ :one, :opt ]
816
- when :opt_multi; prims = [ :one, :many, :opt ]
817
- when :opt_any; prims = [ :none, :one, :many, :opt ]
818
- when :default; prims = [ :none, :one, :many, :opt, :default ]
819
- when :exclusive; prims = [ :none, :one, :many, :opt, :mutex ]
820
- when :silent; prims = [ :none, :opt, :hidden ]
821
- else
825
+ prims = MAP_TYPE_PRIMS[ type ]
826
+ unless prims
822
827
  raise "Unknown option type: \"#{type}\"..."
823
828
  end
824
829
 
data/lib/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Como
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  def Como.version
4
4
  Como::VERSION
5
5
  end
@@ -14,6 +14,22 @@ como_subcmd error: Subcommand required for "como_subcmd"...
14
14
  commit Commit (pending) changes to repo.
15
15
 
16
16
 
17
+ Copyright (c) 2013 by Como Tester
18
+
19
+ ---- CMD: como_subcmd -h
20
+
21
+ como_subcmd [-p <password>] [-u <username>+] <<subcommand>>
22
+
23
+ Options:
24
+ -p User password.
25
+ -u Username(s).
26
+
27
+ Subcommands:
28
+ add Add file to repo.
29
+ rm Remove file from repo.
30
+ commit Commit (pending) changes to repo.
31
+
32
+
17
33
  Copyright (c) 2013 by Como Tester
18
34
 
19
35
  ---- CMD: como_subcmd -p passwd
data/test/test_subcmd CHANGED
@@ -1,4 +1,5 @@
1
1
  como_subcmd
2
+ como_subcmd -h
2
3
  como_subcmd -p passwd
3
4
  como_subcmd add
4
5
  como_subcmd add -f