claide 0.9.0 → 0.9.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/claide.rb +1 -1
  3. data/lib/claide/argv.rb +12 -10
  4. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2a8ca664bd027e9572a68e5605f03e463d943908
4
- data.tar.gz: 36dcbc3f7f3131795f1c453fe7d208a0f50a7c1c
3
+ metadata.gz: 3de5ee97a4489d93a9dc6765777abe615f7c70c3
4
+ data.tar.gz: 631599e1a27b148d8e50cd70cf3d00f773fa16a7
5
5
  SHA512:
6
- metadata.gz: 8fb570e06b2ea203f3215e29cb822cbc2aff8a0fbfe9b1cec9765c8bb6b63fe515af7ba4a38fad57768d72ef2efaefdaedb8b5b94262cd9a473501bea9c4d19c
7
- data.tar.gz: 8ece92f993984810f70694409feb1c2e2026038cc3b858f0587267cbc05329a606c29976fbb140c89822ece87367faa9c4d6fc5ed655c5f4ad1a7cd2055110bf
6
+ metadata.gz: a31965b426cc1b1f81003bb3084c70a98a4a8cb676122039d8a6717c746ef2122e6bd4ef7efc306d7fd05967a9996a5aeeaccc0743d19ef90b28f9e01a28bf02
7
+ data.tar.gz: 7bef4e23b6e02a283f543e502f6921f385c3c372392c0c3c8fbeb958ac68bb3b20a4512efe975f2541ef01cfec61cb78cbdc83ff9b6c6a070033104de24e01a5
@@ -8,7 +8,7 @@ module CLAide
8
8
  #
9
9
  # CLAide’s version, following [semver](http://semver.org).
10
10
  #
11
- VERSION = '0.9.0'
11
+ VERSION = '0.9.1'
12
12
 
13
13
  require 'claide/ansi'
14
14
  require 'claide/argument'
@@ -156,7 +156,7 @@ module CLAide
156
156
  # argv.remainder # => ['tea', '--sweetner=honey']
157
157
  #
158
158
  def flag?(name, default = nil)
159
- delete_entry(:flag, name, default)
159
+ delete_entry(:flag, name, default, true)
160
160
  end
161
161
 
162
162
  # @return [String, nil] Returns the value of the option by the specified
@@ -230,16 +230,18 @@ module CLAide
230
230
  # @param [Bool, String, Nil] default
231
231
  # The value which should be returned if the entry is not present.
232
232
  #
233
- def delete_entry(requested_type, requested_key, default)
234
- result = nil
235
- entry = @entries.reverse_each.find do |type, (key, value)|
236
- if requested_key == key && requested_type == type
237
- result = value
238
- true
239
- end
233
+ # @param [Bool] delete_all
234
+ # Whether all values matching `requested_type` and `requested_key`
235
+ # should be deleted.
236
+ #
237
+ def delete_entry(requested_type, requested_key, default, delete_all = false)
238
+ pred = proc do |type, (key, _value)|
239
+ requested_key == key && requested_type == type
240
240
  end
241
- @entries.delete(entry) if entry
242
- entry.nil? ? default : result
241
+ entry = entries.reverse_each.find(&pred)
242
+ delete_all ? entries.delete_if(&pred) : entries.delete(entry)
243
+
244
+ entry.nil? ? default : entry.last.last
243
245
  end
244
246
 
245
247
  module Parser
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: claide
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Duran
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-07-02 00:00:00.000000000 Z
12
+ date: 2015-07-05 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description:
15
15
  email:
@@ -44,12 +44,12 @@ require_paths:
44
44
  - lib
45
45
  required_ruby_version: !ruby/object:Gem::Requirement
46
46
  requirements:
47
- - - '>='
47
+ - - ">="
48
48
  - !ruby/object:Gem::Version
49
49
  version: '0'
50
50
  required_rubygems_version: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  requirements: []