cl 1.0.3 → 1.0.4

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
  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