claide 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
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: []