como 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +2 -0
- data/doc/Como/ArgsParseState.html +50 -50
- data/doc/Como/ComoCommon.html +1 -1
- data/doc/Como/MainOpt.html +35 -35
- data/doc/Como/Opt/ErrorWithData.html +1 -1
- data/doc/Como/Opt/InvalidOption.html +1 -1
- data/doc/Como/Opt/MissingArgument.html +1 -1
- data/doc/Como/Opt.html +269 -255
- data/doc/Como/RuleCheck.html +58 -58
- data/doc/Como/RuleDisplay.html +71 -71
- data/doc/Como/Spec.html +2 -2
- data/doc/Como.html +2 -2
- data/doc/_index.html +1 -1
- data/doc/file.CHANGELOG.html +5 -2
- data/doc/file.README.html +1 -1
- data/doc/index.html +1 -1
- data/doc/top-level-namespace.html +1 -1
- data/lib/como.rb +17 -11
- data/lib/version.rb +1 -1
- data/test/golden/subcmd.txt +18 -0
- data/test/test_como.rb +1 -1
- data/test/test_subcmd +2 -0
- metadata +2 -2
data/lib/como.rb
CHANGED
@@ -815,7 +815,7 @@ module Como
|
|
815
815
|
when :opt_single; prims = [ :one, :opt ]
|
816
816
|
when :opt_multi; prims = [ :one, :many, :opt ]
|
817
817
|
when :opt_any; prims = [ :none, :one, :many, :opt ]
|
818
|
-
when :default; prims = [ :none, :one, :many, :
|
818
|
+
when :default; prims = [ :none, :one, :many, :opt, :default ]
|
819
819
|
when :exclusive; prims = [ :none, :one, :many, :opt, :mutex ]
|
820
820
|
when :silent; prims = [ :none, :opt, :hidden ]
|
821
821
|
else
|
@@ -1421,10 +1421,17 @@ module Como
|
|
1421
1421
|
# Search for default option.
|
1422
1422
|
o = findOpt( nil )
|
1423
1423
|
if !o
|
1424
|
-
|
1425
|
-
|
1426
|
-
|
1427
|
-
|
1424
|
+
if @subcmd.any?
|
1425
|
+
raise \
|
1426
|
+
InvalidOption.new(
|
1427
|
+
"Unknown subcmd: \"#{args.get}\"...",
|
1428
|
+
self )
|
1429
|
+
else
|
1430
|
+
raise \
|
1431
|
+
InvalidOption.new(
|
1432
|
+
"No default option specified to allow \"#{args.get}\"...",
|
1433
|
+
self )
|
1434
|
+
end
|
1428
1435
|
else
|
1429
1436
|
# Default option.
|
1430
1437
|
o.given = true
|
@@ -1890,13 +1897,13 @@ module Como
|
|
1890
1897
|
# Find option object by option str.
|
1891
1898
|
def findOpt( str )
|
1892
1899
|
if str == nil
|
1893
|
-
|
1900
|
+
subopt.detect { |i| i.prim?( :default ) }
|
1894
1901
|
elsif str[0..1] == "--"
|
1895
|
-
|
1896
|
-
elsif str[0..0]
|
1897
|
-
|
1902
|
+
subopt.detect { |i| i.longOpt == str }
|
1903
|
+
elsif str[0..0] == "-"
|
1904
|
+
subopt.detect { |i| i.opt == str }
|
1898
1905
|
else
|
1899
|
-
suball.detect { |i| i.
|
1906
|
+
suball.detect { |i| i.name == str }
|
1900
1907
|
end
|
1901
1908
|
end
|
1902
1909
|
|
@@ -2158,7 +2165,6 @@ module Como
|
|
2158
2165
|
@idx >= @list.length
|
2159
2166
|
end
|
2160
2167
|
|
2161
|
-
|
2162
2168
|
# Test whether str is an option.
|
2163
2169
|
def isOpt( str = get )
|
2164
2170
|
str[0..0] == "-"
|
data/lib/version.rb
CHANGED
data/test/golden/subcmd.txt
CHANGED
@@ -364,3 +364,21 @@ Options for: commit
|
|
364
364
|
Given "<default>": true
|
365
365
|
Value "<default>": ["foo"]
|
366
366
|
External: ["external", "arguments"]
|
367
|
+
---- CMD: como_subcmd foo
|
368
|
+
|
369
|
+
como_subcmd error: Unknown subcmd: "foo"...
|
370
|
+
|
371
|
+
como_subcmd [-p <password>] [-u <username>+] <<subcommand>>
|
372
|
+
|
373
|
+
Options:
|
374
|
+
-p User password.
|
375
|
+
-u Username(s).
|
376
|
+
|
377
|
+
Subcommands:
|
378
|
+
add Add file to repo.
|
379
|
+
rm Remove file from repo.
|
380
|
+
commit Commit (pending) changes to repo.
|
381
|
+
|
382
|
+
|
383
|
+
Copyright (c) 2013 by Como Tester
|
384
|
+
|
data/test/test_como.rb
CHANGED
data/test/test_subcmd
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: como
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2017-01-01 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: ! 'Como provides low manifest command line option parsing and deployment.
|
15
15
|
The command line options are described in compact table format and option values
|