como 0.2.1 → 0.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CHANGELOG.rdoc +2 -0
- data/doc/Como/ArgsParseState.html +50 -50
- data/doc/Como/ComoCommon.html +2 -2
- data/doc/Como/MainOpt.html +32 -32
- data/doc/Como/Opt/ErrorWithData.html +11 -11
- data/doc/Como/Opt/InvalidOption.html +2 -2
- data/doc/Como/Opt/MissingArgument.html +2 -2
- data/doc/Como/Opt.html +402 -402
- data/doc/Como/RuleCheck.html +56 -56
- data/doc/Como/RuleDisplay.html +70 -70
- data/doc/Como/Spec.html +73 -74
- data/doc/Como.html +2 -2
- data/doc/_index.html +2 -2
- data/doc/file.CHANGELOG.html +6 -3
- data/doc/file.README.html +2 -2
- data/doc/index.html +2 -2
- data/doc/top-level-namespace.html +2 -2
- data/lib/como.rb +18 -13
- data/lib/version.rb +1 -1
- data/test/golden/subcmd.txt +16 -0
- data/test/test_subcmd +1 -0
- metadata +63 -68
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'>=></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'>=></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'>=></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'>=></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'>=></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'>=></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'>=></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'>=></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'>=></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
|
-
|
805
|
+
891</pre>
|
791
806
|
</td>
|
792
807
|
<td>
|
793
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
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'>&</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'>&</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
|
-
|
898
|
-
|
899
|
-
|
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
|
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'>&</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'>&</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
|
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
|
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'>&</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
|
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
|
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='
|
1572
|
-
<span class='kw'>
|
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'>"</span><span class='tstring_content'>Unknown option type: \"</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_type'>type</span><span class='embexpr_end'>}</span><span class='tstring_content'>\"...</span><span class='tstring_end'>"</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
|
-
|
1734
|
-
|
1735
|
-
|
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
|
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
|
-
|
1775
|
-
|
1776
|
-
|
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
|
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
|
-
|
1816
|
-
|
1817
|
-
|
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
|
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
|
1906
|
+
734
|
1907
|
+
735</pre>
|
1911
1908
|
</td>
|
1912
1909
|
<td>
|
1913
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
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
|
2021
|
+
782
|
2022
|
+
783</pre>
|
2026
2023
|
</td>
|
2027
2024
|
<td>
|
2028
|
-
<pre class="code"><span class="info file"># File 'lib/como.rb', line
|
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
|
-
|
2103
|
-
|
2104
|
-
|
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
|
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
|
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
|
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'>&</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
|
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
|
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'>"</span><span class='tstring_content'>help</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>-h</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>Display usage info.</span><span class='tstring_end'>"</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
|
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.
|
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
|
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.
|
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
|
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.
|
238
|
+
0.8.7.6 (ruby-2.3.3).
|
239
239
|
</div>
|
240
240
|
|
241
241
|
</body>
|
data/doc/file.CHANGELOG.html
CHANGED
@@ -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.
|
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
|
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.
|
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
|
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.
|
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
|
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.
|
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
|
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.
|
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
|
-
|
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
|
-
|
812
|
-
|
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
data/test/golden/subcmd.txt
CHANGED
@@ -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
|