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
         |