optsparser_generator 2.1 → 2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/optsparser_generator.rb +7 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: caf6bbbedfb031d8944f78dff4553980f6bc6aff
|
4
|
+
data.tar.gz: 6fe7b11fac905fb0195991db3aae0b750211fa01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f1984e4fb69456115593811882d94451a41969a41e1c6f6e3755b57ed60ab5f75b7beb2ac94d815d0e93a28df985d71cd9a403df1740124d4290e3659e601d4
|
7
|
+
data.tar.gz: 1e99ec057c9ccbc5011e9af2ee4c2edea4180038e97eac8ee276f0d5a5b05696726237bba58afcdefbaab1186436a71ac1319dced17c32245f274797cdd70a57
|
data/lib/optsparser_generator.rb
CHANGED
@@ -37,19 +37,18 @@ module OptionParserGenerator
|
|
37
37
|
trigger = key.to_s.tr('_', '-')
|
38
38
|
next if trigger.end_with?('--help', '--values', '--short', '--class')
|
39
39
|
|
40
|
-
help = "#{defaults[key
|
41
|
-
values = defaults[key
|
42
|
-
short = defaults[key
|
40
|
+
help = "#{defaults["#{key}__help"]} (Default: #{val})"
|
41
|
+
values = defaults["#{key}__values"] || []
|
42
|
+
short = defaults["#{key}__short"] || ''
|
43
43
|
arguments = []
|
44
44
|
arguments << help unless help.empty?
|
45
45
|
arguments << "-#{short}" unless short.empty?
|
46
|
-
case
|
46
|
+
case val
|
47
47
|
when FalseClass, TrueClass
|
48
48
|
if trigger.start_with?('no-')
|
49
49
|
trigger[0..2] = ''
|
50
|
-
if defaults.each_pair.map { |v| v.first.to_s }.include?(trigger)
|
51
|
-
raise OptionCollision, "on #{
|
52
|
-
next
|
50
|
+
if defaults.each_pair.map { |v| v.first.to_s }.include?(trigger) && !options[:ignore_collisions]
|
51
|
+
raise OptionCollision, "on #{key}"
|
53
52
|
end
|
54
53
|
end
|
55
54
|
opts.on("--[no-]#{trigger}", *arguments) do |b|
|
@@ -62,7 +61,7 @@ module OptionParserGenerator
|
|
62
61
|
end
|
63
62
|
end
|
64
63
|
else
|
65
|
-
arguments
|
64
|
+
arguments.push defaults["#{key}__class"] || (val.class.equal?(Fixnum) ? Integer : val.class)
|
66
65
|
arguments << values if values.any?
|
67
66
|
opts.on("--#{trigger}=ARG", *arguments) do |str|
|
68
67
|
out = opts.instance_variable_get(:@out)
|