cl 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 1732005d9554c5a8323194e688843d1a03e24592
4
- data.tar.gz: e6d7c13203a191445f1b8e4d185f49d7d881d863
3
+ metadata.gz: 236d4801bb76bbbf3461d03510b4ef70e1e16697
4
+ data.tar.gz: 30762679ce191247b55e33bbfde546c4e3777585
5
5
  SHA512:
6
- metadata.gz: f53a353ff9f071672235942a05765e8ba82ac4047f6b4d1d81a3ac0fc74ddcb4ba18c2cc8bcb76e56769d81579ab4a63ce890242a7c17d777618c6671fb34bd6
7
- data.tar.gz: baea034a83e257053b1f51cb49b2c902d5f9be6ecec7a5c5e741f0d48abbce615aa347e978ddc2bb2d4621959870eb3dd4e3019540523d5bb46f09aa870fdb1c
6
+ metadata.gz: 736bf9c6ad40aed01f4fdb3fb58da6714262166d4f2b45be4721a3e7e12f53a21ed821808a7455a4ad6ed64fe74363c73e2f1cbdeb615c99fea5c511ac480b62
7
+ data.tar.gz: 48ace8e5dfdcbfb348cdf27411a2b76dde9348b93c0462fe0927a6beca06785cea7a7d8f0dbd3983692f24bbd97a32bde1eec67f69dac820f16dba40ab40be8c
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.4 (2019-08-15)
4
+
5
+ ### Fixed
6
+
7
+ * Fixed enum when used with `type: :array`
8
+
9
+ ## 1.0.3 (2019-08-11)
10
+
11
+ ### Added
12
+
13
+ * Allow clients to configure Ctx so that it does not abort but raise on errors
14
+
15
+ ## 1.0.2 (2019-08-11)
16
+
17
+ ### Fixed
18
+
19
+ * Fix that validation for `opt '--one STR', requires: :other, default: 'one'` would fail if the option was not given
20
+
3
21
  ## 1.0.1 (2019-08-11)
4
22
 
5
23
  ### Added
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cl (1.0.1)
4
+ cl (1.0.3)
5
5
  regstry (~> 1.0.3)
6
6
 
7
7
  GEM
@@ -49,6 +49,10 @@ class Cl
49
49
  type == :int || type == :integer
50
50
  end
51
51
 
52
+ def array?
53
+ type == :array
54
+ end
55
+
52
56
  def aliases?
53
57
  !!opts[:alias]
54
58
  end
@@ -91,6 +95,7 @@ class Cl
91
95
  end
92
96
 
93
97
  def known?(value)
98
+ return value.all? { |value| known?(value) } if value.is_a?(Array)
94
99
  enum.any? { |obj| obj.is_a?(Regexp) ? obj =~ value.to_s : obj == value }
95
100
  end
96
101
 
@@ -189,7 +194,7 @@ class Cl
189
194
  end
190
195
 
191
196
  def assign(opts, type, name, value)
192
- if type == :array
197
+ if array?
193
198
  opts[name] ||= []
194
199
  opts[name] << value
195
200
  else
@@ -86,10 +86,9 @@ class Cl
86
86
 
87
87
  def unknown
88
88
  @unknown ||= opts.select(&:enum?).map do |opt|
89
- value = values[opt.name]
90
- next unless value && !opt.known?(value)
89
+ next unless values.key?(opt.name) && !opt.known?(values[opt.name])
91
90
  known = opt.enum.map { |str| format_regex(str) }
92
- [opt.name, value, known]
91
+ [opt.name, values[opt.name], known]
93
92
  end.compact
94
93
  end
95
94
  end
@@ -1,3 +1,3 @@
1
1
  class Cl
2
- VERSION = '1.0.3'
2
+ VERSION = '1.0.4'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Fuchs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-11 00:00:00.000000000 Z
11
+ date: 2019-08-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: regstry