optparse2 0.4.1 → 0.4.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d4f4b99d85e717967ed1fa272d7b2084db9c09ee1d4872fa7927d5a7bf0c6104
4
- data.tar.gz: cb88e6660fa66b062089db1bb857ef9bea459581b700fc63e60957b964c852dc
3
+ metadata.gz: 4a7bc271367c6b1643883e269f514e2159e21214a93b2c8178385c92eb6467f8
4
+ data.tar.gz: c396db3981478c105afe37f1a4e768a651b6af814be8993a3b72d09bfecf79c5
5
5
  SHA512:
6
- metadata.gz: 0717d580106c2a3a084f1c59718e5399103008c932249c4752c4b9d2f9c9c3114d6f1ef62f72d639b3758a7cfd517907b28b4782d21f7ba55c26b3e7804356f8
7
- data.tar.gz: 97d4a6da7c401a6343ee931039039800b33aa6a1f5bdb08bae961c329e928e4f4ade8906cfa4a31cba353c0a6a4cd129e08a37ae0ecfd1ff484f84da116af34e
6
+ metadata.gz: a81893aa796c2411e6260fe0bb5601e83392db45abb70dff4927676c0e16262806f64733f3b4929524eec623242ef094a4c1a0d64a0946140bc2d781d44ee81e
7
+ data.tar.gz: 2bf4f2203b632f2a50d5e541ec6da5fb494ddf870088acc2abd127ebe25178170fcf1b552f178f9784f766bc67e960d98fd54fb54387be3936adf0b029939d76
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class OptParse2
4
- VERSION = "0.4.1"
4
+ VERSION = "0.4.2"
5
5
  end
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 !argv.empty? && self.raise_unknown && !@positional.empty?
142
+ raise ParseError, "got unexpected positional argument: #{argv2.inspect}"
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[--timeout=a a]
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: optparse2
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.1
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - SamW