hash_keys 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/hash_keys.gemspec +1 -2
- data/lib/hash_keys.rb +2 -0
- data/spec/{hash_spec.rb → hash_keys_spec.rb} +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 568df7668930522ea0dd8928b388401244bf51ca
|
4
|
+
data.tar.gz: 1b6b48e9e984fed5813b30e66b741303ae9bd844
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed92d7d4094f3600623ea3fe5952fe08f6fb09bf397853ce164ff34b0dcaea51dda8b4c0e704b7dcf911034d0c8c181260a92f1db977a05e65a96a3465fb970c
|
7
|
+
data.tar.gz: 7b9ee9489d3c1a8e41cde78e3ff5e43be7b181778dc71a02e18a5c92565998709f71c1f9982de19ac696cc39084f18205e1a1be2634e25b8d9e46d246d658a73
|
data/hash_keys.gemspec
CHANGED
@@ -1,11 +1,10 @@
|
|
1
1
|
# coding: utf-8
|
2
2
|
lib = File.expand_path('../lib', __FILE__)
|
3
3
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'hash_keys/version'
|
5
4
|
|
6
5
|
Gem::Specification.new do |spec|
|
7
6
|
spec.name = "hash_keys"
|
8
|
-
spec.version = '1.0.
|
7
|
+
spec.version = '1.0.3'
|
9
8
|
spec.authors = ["Adam Whittingham"]
|
10
9
|
spec.email = ["adam.whittingham@gmail.com"]
|
11
10
|
spec.summary = 'Adds commonly duplicated key select/reject code to Hash'
|
data/lib/hash_keys.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
1
|
class Hash
|
2
|
+
# Return a hash containing only the named keys
|
2
3
|
def select_keys *keys
|
3
4
|
select{|k, _| keys.include? k}
|
4
5
|
end
|
5
6
|
|
6
7
|
alias_method :retain_keys, :select_keys
|
7
8
|
|
9
|
+
# Return a hash containing everything except the named keys
|
8
10
|
def reject_keys *keys
|
9
11
|
reject{|k, _| keys.include? k}
|
10
12
|
end
|
@@ -4,13 +4,13 @@ describe Hash do
|
|
4
4
|
subject { {foo: 1, bar: 2, baz: 3} }
|
5
5
|
|
6
6
|
describe '#select_keys' do
|
7
|
-
it 'selects only the
|
7
|
+
it 'selects only the named keys' do
|
8
8
|
expect(subject.select_keys(:foo, :baz)).to eq({foo: 1, baz: 3})
|
9
9
|
end
|
10
10
|
end
|
11
11
|
|
12
12
|
describe '#reject_keys' do
|
13
|
-
it '
|
13
|
+
it 'returns any keys not named' do
|
14
14
|
expect(subject.reject_keys(:foo)).to eq({bar: 2, baz: 3})
|
15
15
|
end
|
16
16
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hash_keys
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Whittingham
|
@@ -66,7 +66,7 @@ files:
|
|
66
66
|
- Rakefile
|
67
67
|
- hash_keys.gemspec
|
68
68
|
- lib/hash_keys.rb
|
69
|
-
- spec/
|
69
|
+
- spec/hash_keys_spec.rb
|
70
70
|
homepage: https://github.com/AdamWhittingham/hash_keys
|
71
71
|
licenses:
|
72
72
|
- MIT
|
@@ -92,4 +92,4 @@ signing_key:
|
|
92
92
|
specification_version: 4
|
93
93
|
summary: Adds commonly duplicated key select/reject code to Hash
|
94
94
|
test_files:
|
95
|
-
- spec/
|
95
|
+
- spec/hash_keys_spec.rb
|