slop 4.9.2 → 4.9.3
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/CHANGELOG.md +6 -0
- data/README.md +4 -2
- data/lib/slop/types.rb +3 -1
- data/lib/slop.rb +1 -1
- data/test/types_test.rb +7 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9e59ff0d4bd9fa111d71e057b9e3ae9aa1aebef93937fcf7f1e1d57fb789c010
|
4
|
+
data.tar.gz: 1628f1e9cfa67ca737b494b65d135d4b28ee7f16fb9b9bfeb746d54a2d83b1b4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1f1aea5c8faeb6d7d6a995f3853b97f9c8c80ed57fcaf692c3113fb5b7b4886323677e4adf5e6595975748beaca585d700949f3739dc82f81913563bc7b9a318
|
7
|
+
data.tar.gz: c75a58a1341a177152ae5d8827d3f980d6a395854123c2ab5612837835c723123c38d84239e299a50012f5b3ce017566244efa41bcfb97bfbc53a077867e9bea
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,12 @@
|
|
1
1
|
Changelog
|
2
2
|
=========
|
3
3
|
|
4
|
+
v4.9.3 (2022-09-30)
|
5
|
+
-------------------
|
6
|
+
|
7
|
+
Bug fixes:
|
8
|
+
* Fix explicitly false boolean options and allow for additional false arguments [#276](https://github.com/leejarvis/slop/pull/276) (Eugene Otto)
|
9
|
+
|
4
10
|
v4.9.2 (2022-03-26)
|
5
11
|
-------------------
|
6
12
|
|
data/README.md
CHANGED
@@ -22,17 +22,19 @@ opts = Slop.parse do |o|
|
|
22
22
|
o.bool '-v', '--verbose', 'enable verbose mode'
|
23
23
|
o.bool '-q', '--quiet', 'suppress output (quiet mode)'
|
24
24
|
o.bool '-c', '--check-ssl-certificate', 'check SSL certificate for host'
|
25
|
+
o.bool '-k', '--use-keychain', 'store passphrase in OS keychain'
|
25
26
|
o.on '--version', 'print the version' do
|
26
27
|
puts Slop::VERSION
|
27
28
|
exit
|
28
29
|
end
|
29
30
|
end
|
30
31
|
|
31
|
-
ARGV #=> -v --login alice --host 192.168.0.1 -m post --check-ssl-certificate
|
32
|
+
ARGV #=> -v --login alice --host 192.168.0.1 -m post --check-ssl-certificate --use-keychain false
|
32
33
|
|
33
34
|
opts[:host] #=> 192.168.0.1
|
34
35
|
opts[:login] #=> alice
|
35
36
|
opts[:method] #=> :post
|
37
|
+
opts[:use_keychain] #=> false
|
36
38
|
opts.verbose? #=> true
|
37
39
|
opts.quiet? #=> false
|
38
40
|
opts.check_ssl_certificate? #=> true
|
@@ -53,7 +55,7 @@ Built in Option types are as follows:
|
|
53
55
|
|
54
56
|
```ruby
|
55
57
|
o.string #=> Slop::StringOption, expects an argument
|
56
|
-
o.bool #=> Slop::BoolOption,
|
58
|
+
o.bool #=> Slop::BoolOption, argument optional, aliased to BooleanOption
|
57
59
|
o.integer #=> Slop::IntegerOption, expects an argument, aliased to IntOption
|
58
60
|
o.float #=> Slop::FloatOption, expects an argument
|
59
61
|
o.array #=> Slop::ArrayOption, expects an argument
|
data/lib/slop/types.rb
CHANGED
@@ -21,6 +21,8 @@ module Slop
|
|
21
21
|
class BoolOption < Option
|
22
22
|
attr_accessor :explicit_value
|
23
23
|
|
24
|
+
FALSE_VALUES = [false, 'false', 'no', 'off', '0'].freeze
|
25
|
+
|
24
26
|
def call(value)
|
25
27
|
self.explicit_value = value
|
26
28
|
!force_false?
|
@@ -35,7 +37,7 @@ module Slop
|
|
35
37
|
end
|
36
38
|
|
37
39
|
def force_false?
|
38
|
-
explicit_value
|
40
|
+
FALSE_VALUES.include?(explicit_value)
|
39
41
|
end
|
40
42
|
|
41
43
|
def default_value
|
data/lib/slop.rb
CHANGED
data/test/types_test.rb
CHANGED
@@ -34,9 +34,11 @@ describe Slop::BoolOption do
|
|
34
34
|
@verbose = @options.bool "--verbose"
|
35
35
|
@quiet = @options.bool "--quiet"
|
36
36
|
@inversed = @options.bool "--inversed", default: true
|
37
|
+
@explicit = @options.bool "--explicit"
|
37
38
|
@bloc = @options.bool("--bloc"){|val| (@bloc_val ||= []) << val}
|
38
39
|
@result = @options.parse %w(--verbose --no-inversed
|
39
|
-
--bloc --no-bloc
|
40
|
+
--bloc --no-bloc
|
41
|
+
--explicit=false)
|
40
42
|
end
|
41
43
|
|
42
44
|
it "returns true if used" do
|
@@ -54,6 +56,10 @@ describe Slop::BoolOption do
|
|
54
56
|
it "will invert the value passed to &block via --no- prefix" do
|
55
57
|
assert_equal [true, false], @bloc_val
|
56
58
|
end
|
59
|
+
|
60
|
+
it "returns false when explicitly false" do
|
61
|
+
assert_equal false, @result[:explicit]
|
62
|
+
end
|
57
63
|
end
|
58
64
|
|
59
65
|
describe Slop::IntegerOption do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: slop
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.9.
|
4
|
+
version: 4.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lee Jarvis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -86,7 +86,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
86
86
|
- !ruby/object:Gem::Version
|
87
87
|
version: '0'
|
88
88
|
requirements: []
|
89
|
-
rubygems_version: 3.
|
89
|
+
rubygems_version: 3.3.7
|
90
90
|
signing_key:
|
91
91
|
specification_version: 4
|
92
92
|
summary: Simple Lightweight Option Parsing
|