optparse2 0.1.4 → 0.2.1

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: c604cf926ed7cee0c2ef46022891b50886407bc576a4b80f917fa306fa516f81
4
- data.tar.gz: cc66dbcf777dc114612932c94e3e20c97c74da1899b78d68d28cf14ae9e6a5d4
3
+ metadata.gz: 9e5288a9c92f7b7f8114a9ff22fbea80243096a05a31e9b06163b384a6cedd39
4
+ data.tar.gz: 5192dcce63070880e757b9f1521a59ebaa8dd7a6709d58c913fafe0d01b6c444
5
5
  SHA512:
6
- metadata.gz: 438d3f5e0f977db7bb35f5b5a3b9867f8f2983703b78dd4e457620398dabf2d0d28c614775111fff4034235228136ce0af744028f041004e7fda9c43c76b2bb8
7
- data.tar.gz: 5bdfdf1ff72f06e98c99deb65c9463ee52a4f701c92ec143e5731d217059025c7f691c9138756b56afe0532c44786dcd2554856a5943a73293f39fa823c8b881
6
+ metadata.gz: e5a8ea9dcfc283e494e20df0bd017b067d0177e90c2d1b4e05e6ae6c8c2fa5f09dac06385feb9008f8b8819b320f9d6c8069d4ba41c4e8412c638021bc73fbf7
7
+ data.tar.gz: 5343e3530b89599cc48c2a7e230e99ab3854754e4135bba97e3c659e464ba0d94a202c48a5e9bef65f4f5b6903d091fd97abef7d2e228472d3b1f9f06f4db9ce
@@ -0,0 +1,8 @@
1
+ require 'pathname'
2
+
3
+ module OptParse2::Pathname
4
+ OptParse2.accept Pathname do |p|
5
+ Pathname(p)
6
+ end
7
+ end
8
+
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class OptParse2
4
- VERSION = "0.1.4"
4
+ VERSION = "0.2.1"
5
5
  end
data/lib/optparse2.rb CHANGED
@@ -21,13 +21,17 @@ class OptParse2
21
21
  end
22
22
 
23
23
  def switch_name=(val)
24
+ # binding.irb
25
+ @switch_name = val
26
+ end
27
+
28
+ def set_block_name_because_of_switch_name
24
29
  if @block.nil? && @arg.nil?
25
- q = switch_name.to_sym
30
+ q = @switch_name.to_sym
26
31
  @block = proc { q }
27
32
  end
28
- # binding.irb
29
- @switch_name = val
30
33
  end
34
+
31
35
  # attr_writer :switch_name
32
36
  def switch_name; defined?(@switch_name) ? @switch_name : super end
33
37
 
@@ -58,10 +62,18 @@ class OptParse2
58
62
  sw, *rest = super(opts, block)
59
63
 
60
64
  sw.extend Helpers
61
-
62
- sw.switch_name = key if key
65
+ if key
66
+ sw.switch_name = key
67
+ sw.set_block_name_because_of_switch_name
68
+ end
63
69
  sw.set_hidden if hidden
64
70
 
71
+ if (not_style = rest[2])
72
+ not_style.extend Helpers
73
+ not_style.switch_name = key if key
74
+ not_style.set_hidden if hidden
75
+ end
76
+
65
77
  if nodefault && default_description != nil
66
78
  raise ArgumentError, "default: not supplied, but default_description: given"
67
79
  elsif not nodefault
@@ -84,7 +96,6 @@ class OptParse2
84
96
 
85
97
  already_done = {}
86
98
  already_done.define_singleton_method(:[]=) do |key, value|
87
- key = key.to_s
88
99
  super(key, value)
89
100
  into[key] = value
90
101
  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.1.4
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - SamW
@@ -21,6 +21,7 @@ files:
21
21
  - lib/optparse2.rb
22
22
  - lib/optparse2/fixes.rb
23
23
  - lib/optparse2/globals.rb
24
+ - lib/optparse2/pathname.rb
24
25
  - lib/optparse2/version.rb
25
26
  - sig/optparse2.rbs
26
27
  licenses: