argparser 2.0.1 → 2.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/HISTORY.md +5 -0
- data/lib/argparser/arg_parser.rb +21 -6
- data/lib/argparser/argument.rb +5 -0
- data/lib/argparser/option.rb +3 -0
- data/lib/argparser/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d01077ced5f014ee8a59a83db58de5185117f91e
|
4
|
+
data.tar.gz: 5011acf2b08ed536be20f8ab382c8bd4f65418e3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9669ee8f4bff2d04795e2a148e54ef60cc58f30553633a79584646675616e11fb0e87fde5d9138afbe00dcc33b838a478b0bb5c6c9fe7a9e01e1512e05d20e3e
|
7
|
+
data.tar.gz: 7fb01f1d230f7ea3e5947b09276b034aaf755af30f78882ffbaa2fdfc459ed2c669362f0bea0c8be26c53068ead7f83a17fdf29a907f1f2c2a0dccc44cf3d3a8
|
data/HISTORY.md
CHANGED
data/lib/argparser/arg_parser.rb
CHANGED
@@ -73,10 +73,23 @@ class ArgParser
|
|
73
73
|
|
74
74
|
def initialize(manifest)
|
75
75
|
hash2vars(ArgParser.manifest.merge(manifest))
|
76
|
-
@arguments
|
77
|
-
|
78
|
-
@options =
|
79
|
-
|
76
|
+
@arguments ||= []
|
77
|
+
@options ||= []
|
78
|
+
@options = @options.map do |o|
|
79
|
+
if o.kind_of?(Option)
|
80
|
+
o
|
81
|
+
else
|
82
|
+
if o['input'] || o[:input]
|
83
|
+
o[:name] ||= o['names'] || o[:names]
|
84
|
+
@arguments << o
|
85
|
+
nil
|
86
|
+
else
|
87
|
+
o[:param] ||= (o['argument'] || o[:argument])
|
88
|
+
Option.new(o)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end.compact
|
92
|
+
@arguments = @arguments.map {|o| o.kind_of?(Argument) ? o : Argument.new(o)}
|
80
93
|
_check_manifest
|
81
94
|
end
|
82
95
|
|
@@ -121,6 +134,8 @@ class ArgParser
|
|
121
134
|
self
|
122
135
|
end
|
123
136
|
|
137
|
+
alias parse! parse
|
138
|
+
|
124
139
|
def terminate(code, str)
|
125
140
|
s = StringIO.new
|
126
141
|
s.puts(printed_synopsis) if code != 0
|
@@ -199,14 +214,14 @@ class ArgParser
|
|
199
214
|
def _set_long_option(a, tail)
|
200
215
|
terminate(2, TRM_UNKNOWN % a) unless a.size > 1 && (o = get_option(a))
|
201
216
|
terminate(2, TRM_OPTION_ARGUMENT_EXPECTED % a) if o.param && tail.empty?
|
202
|
-
o.add_value(o.param ? tail.shift :
|
217
|
+
o.add_value(o.param ? tail.shift : true)
|
203
218
|
end
|
204
219
|
|
205
220
|
def _set_short_options(a, tail)
|
206
221
|
a.chars.each_with_index do |char, index|
|
207
222
|
terminate(2, TRM_UNKNOWN % char) unless (option = get_option(char))
|
208
223
|
if !option.param
|
209
|
-
option.add_value(
|
224
|
+
option.add_value(true)
|
210
225
|
elsif a.size-1 == index
|
211
226
|
terminate(2, TRM_OPTION_ARGUMENT_EXPECTED % char) if tail.empty?
|
212
227
|
option.add_value(tail.shift)
|
data/lib/argparser/argument.rb
CHANGED
data/lib/argparser/option.rb
CHANGED
data/lib/argparser/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: argparser
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- sinm
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|