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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 12ed6158390436ca25a3f47b01614d16ffd0cf4bca06b2f1cae376e38a947ce9
4
- data.tar.gz: 8fc0ae12b3a01f0c2f12b46bd09169d248ed48cdafab694c026a63d69bfae712
3
+ metadata.gz: 96e00ac7534cbe1b11eff82f027568f5b37339cb562dd2aefc5640134ee98f7f
4
+ data.tar.gz: 043042d6dd8c2c207da95355d317a6df45c758c48d98f444fc1ba5b7f29b82e1
5
5
  SHA512:
6
- metadata.gz: 55041cdb12c60bfa3bdfcf1849db88eb5ca8c68f778f175084ee66dc98b838c580726039d0e2dab25a79afd4d552cb8923900c71ed95fb558b1748ef1fc26cd7
7
- data.tar.gz: 2d92f8714d75f5f166c4a09ca0c2ec4447a6a0deed83ea8fc4e18d9696754cdc5409466c645d66f43492eeb1d9187c07db1adbe734bdc34d7bc51f237e600a1e
6
+ metadata.gz: bafcec132c0791ce7121c0b3e3d6c290e239ab78a687e799eba07fd3299db17fbfc96a7b14fd555fa5ecf3f01cb841e02dc3e6f2829e4e84edeecd3226258622
7
+ data.tar.gz: cec1c603fd5dda235644bd1fb3298dd9a0e57e1f91b45cb762c9bc06b809298656eee7cd71d234257fb316209cfc0b860f4f070a067a06968e0afc2024515577
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class OptParse2
4
- VERSION = "0.4.4"
4
+ VERSION = "0.5.0"
5
5
  end
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 -h ]
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 'message', 'Message to submit', 'pretty coo', required: 1 do it.join ' ' end
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
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.4
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - SamW