optparse2 0.4.4 → 0.5.0
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 +4 -4
- 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: 96e00ac7534cbe1b11eff82f027568f5b37339cb562dd2aefc5640134ee98f7f
|
|
4
|
+
data.tar.gz: 043042d6dd8c2c207da95355d317a6df45c758c48d98f444fc1ba5b7f29b82e1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bafcec132c0791ce7121c0b3e3d6c290e239ab78a687e799eba07fd3299db17fbfc96a7b14fd555fa5ecf3f01cb841e02dc3e6f2829e4e84edeecd3226258622
|
|
7
|
+
data.tar.gz: cec1c603fd5dda235644bd1fb3298dd9a0e57e1f91b45cb762c9bc06b809298656eee7cd71d234257fb316209cfc0b860f4f070a067a06968e0afc2024515577
|
data/lib/optparse2/version.rb
CHANGED
data/lib/optparse2.rb
CHANGED
|
@@ -140,7 +140,7 @@ class OptParse2
|
|
|
140
140
|
raise ParseError, "at least #{@rest[:required]} trailing arguments required (only got #{argv2.length})", caller(1)
|
|
141
141
|
end
|
|
142
142
|
|
|
143
|
-
argv2 = @rest[:block].call(argv2)
|
|
143
|
+
argv2 = @rest[:block] ? @rest[:block].call(argv2) : argv2
|
|
144
144
|
into[@rest[:key]] = argv2 if @rest[:key]
|
|
145
145
|
elsif !argv2.empty? && self.raise_unknown && !@positional.empty?
|
|
146
146
|
raise ParseError, "got unexpected positional argument: #{argv2.first}", caller(1)
|
|
@@ -225,7 +225,7 @@ class OptParse2
|
|
|
225
225
|
@positional.append sw
|
|
226
226
|
end
|
|
227
227
|
|
|
228
|
-
def rest(name, *description, key: name, required: 0, &block)
|
|
228
|
+
def rest(name, *description, key: name.to_s.tr(' ', '-').to_sym, required: 0, &block)
|
|
229
229
|
title = "#{'[' if required.zero?}#{name} ...#{']' if required.zero?}"
|
|
230
230
|
banner.concat " #{title}" if pos_set_banner
|
|
231
231
|
title += " (#{required} arg minimum)" if required > 0
|
|
@@ -245,7 +245,7 @@ require_relative 'optparse2/pathname'
|
|
|
245
245
|
|
|
246
246
|
# $* << '-tFOO' << '--no-cache' << '-x'
|
|
247
247
|
# $*.replace %w[123 lol what -t10 is up here]
|
|
248
|
-
$*.replace %w[1 -t3 b
|
|
248
|
+
$*.replace %w[1 -t3 b lol what is up]
|
|
249
249
|
|
|
250
250
|
OPTS={}
|
|
251
251
|
OptParse2.new do |op|
|
|
@@ -254,7 +254,7 @@ OptParse2.new do |op|
|
|
|
254
254
|
op.pos 'file', Integer, 'sets the file name', 'is also pretty cool', 1..1000, required: true do it * 2 end
|
|
255
255
|
op.pos '[start[-end]]', 'things to do', key: 'line', default: 123
|
|
256
256
|
|
|
257
|
-
op.rest '
|
|
257
|
+
op.rest 'branch name', 'Message to submit', 'pretty coo', required: 1 do it.join ' ' end
|
|
258
258
|
op.parse! into: OPTS
|
|
259
259
|
p ["finish: ", OPTS, $*]
|
|
260
260
|
end
|