optparse2 0.4.1 → 0.4.3
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 +4 -4
- data/lib/optparse2/version.rb +1 -1
- data/lib/optparse2.rb +8 -3
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9f775081d3be69908f6e5e5de5527bb9d6d148042887564b6a3be8f1c7247908
|
|
4
|
+
data.tar.gz: 8d0d63cdf8e26268b612cf095b5f0a2ca16c9be13cab969bb1fe40c04ac9e551
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 40f97ca2942ca5b28547d89367b1e64d0e59d58db2cbf28dc6e0325a94e2c3dfdeec3c2d396f124721dd76690e52c864540fa4d27925f12cfd1d808b504cd842
|
|
7
|
+
data.tar.gz: 2ccc34c7bf5b55dec6bc3f197d76b5d8d244bc30d7bd9283203bb13f048a8eb41f1296b6a7a1b9b29011ed745c99e1f8ed435980f12fa0e34ce593953672b39a
|
data/lib/optparse2/version.rb
CHANGED
data/lib/optparse2.rb
CHANGED
|
@@ -126,7 +126,10 @@ class OptParse2
|
|
|
126
126
|
old_raise, self.raise_unknown = self.raise_unknown, false
|
|
127
127
|
begin
|
|
128
128
|
super(argv2, into: already_done, **keywords)
|
|
129
|
-
rescue
|
|
129
|
+
rescue OptParse::InvalidArgument => err
|
|
130
|
+
err.args[0] = @positional[err.args[0][/\d+/].to_i].name
|
|
131
|
+
raise
|
|
132
|
+
ensure
|
|
130
133
|
self.raise_unknown = old_raise
|
|
131
134
|
end
|
|
132
135
|
|
|
@@ -135,6 +138,8 @@ class OptParse2
|
|
|
135
138
|
if @rest
|
|
136
139
|
argv2 = @rest[:block].call(argv2)
|
|
137
140
|
into[@rest[:key]] = argv2 if @rest[:key]
|
|
141
|
+
elsif !argv2.empty? && self.raise_unknown && !@positional.empty?
|
|
142
|
+
raise ParseError, "got unexpected positional argument: #{argv2.first}", caller(1)
|
|
138
143
|
else
|
|
139
144
|
argv2.each(&nonopt)
|
|
140
145
|
end
|
|
@@ -227,7 +232,7 @@ require_relative 'optparse2/pathname'
|
|
|
227
232
|
|
|
228
233
|
# $* << '-tFOO' << '--no-cache' << '-x'
|
|
229
234
|
# $*.replace %w[123 lol what -t10 is up here]
|
|
230
|
-
$*.replace %w[]
|
|
235
|
+
$*.replace %w[1 -t3 b c ]
|
|
231
236
|
|
|
232
237
|
OPTS={}
|
|
233
238
|
OptParse2.new do |op|
|
|
@@ -236,7 +241,7 @@ OptParse2.new do |op|
|
|
|
236
241
|
op.pos 'file', Integer, 'sets the file name', 'is also pretty cool', 1..1000, required: true do it * 2 end
|
|
237
242
|
op.pos '[start[-end]]', 'things to do', key: 'line', default: 123
|
|
238
243
|
|
|
239
|
-
op.rest 'message', 'Message to submit' do it.join ' ' end
|
|
244
|
+
# op.rest 'message', 'Message to submit' do it.join ' ' end
|
|
240
245
|
op.parse! into: OPTS
|
|
241
246
|
p ["finish: ", OPTS, $*]
|
|
242
247
|
end
|