bihash 1.1.0 → 1.2.0
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 +5 -5
- data/.travis.yml +4 -4
- data/bihash.gemspec +1 -1
- data/lib/bihash.rb +21 -17
- data/lib/bihash/version.rb +1 -1
- data/spec/bihash_spec.rb +11 -1
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a83c5fe6e801a94f9e8166a1d7fbad9cf217ceb6350d7028c8378934c641a523
|
4
|
+
data.tar.gz: daefa34c37020a266fc8f82e5acdd962b4f5a8db4dbf53ad61713be5cb6bc38f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39bb9c095ceccc8229c2646f2b1f44cba29c957f202c93ff45bd0fdeffd8b1d3e1f875cfd895aa1086c0e546a8b1304945de473710a45161724929f142e95161
|
7
|
+
data.tar.gz: c93e9e0b8d0564921d52242874083c6b2d41b8c5b6d3dc7045e1d7013b2fbbeb4a1a913bda8f8231f6c281701dedab8b40adebb7d6129024408b449b27e99a47
|
data/.travis.yml
CHANGED
data/bihash.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
|
|
18
18
|
s.require_paths = ['lib']
|
19
19
|
|
20
20
|
s.add_development_dependency 'bundler', '~> 1.11'
|
21
|
-
s.add_development_dependency 'rake', '
|
21
|
+
s.add_development_dependency 'rake', '>= 10'
|
22
22
|
s.add_development_dependency 'minitest', '~> 5.5'
|
23
23
|
s.add_development_dependency 'pry', '~> 0.10'
|
24
24
|
end
|
data/lib/bihash.rb
CHANGED
@@ -160,6 +160,25 @@ class Bihash
|
|
160
160
|
keys.map { |key| fetch(key) }
|
161
161
|
end
|
162
162
|
|
163
|
+
def filter(&block)
|
164
|
+
if block_given?
|
165
|
+
dup.tap { |d| d.select!(&block) }
|
166
|
+
else
|
167
|
+
to_enum(:select)
|
168
|
+
end
|
169
|
+
end
|
170
|
+
|
171
|
+
def filter!(&block)
|
172
|
+
if block_given?
|
173
|
+
raise_error_if_frozen
|
174
|
+
old_size = size
|
175
|
+
keep_if(&block)
|
176
|
+
old_size == size ? nil : self
|
177
|
+
else
|
178
|
+
to_enum(:select!)
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
163
182
|
def_delegator :@forward, :flatten
|
164
183
|
|
165
184
|
def has_key?(arg)
|
@@ -240,24 +259,9 @@ class Bihash
|
|
240
259
|
self
|
241
260
|
end
|
242
261
|
|
243
|
-
|
244
|
-
if block_given?
|
245
|
-
dup.tap { |d| d.select!(&block) }
|
246
|
-
else
|
247
|
-
to_enum(:select)
|
248
|
-
end
|
249
|
-
end
|
262
|
+
alias :select :filter
|
250
263
|
|
251
|
-
|
252
|
-
if block_given?
|
253
|
-
raise_error_if_frozen
|
254
|
-
old_size = size
|
255
|
-
keep_if(&block)
|
256
|
-
old_size == size ? nil : self
|
257
|
-
else
|
258
|
-
to_enum(:select!)
|
259
|
-
end
|
260
|
-
end
|
264
|
+
alias :select! :filter!
|
261
265
|
|
262
266
|
def shift
|
263
267
|
raise_error_if_frozen
|
data/lib/bihash/version.rb
CHANGED
data/spec/bihash_spec.rb
CHANGED
@@ -812,6 +812,11 @@ describe Bihash do
|
|
812
812
|
enum.must_be_instance_of Enumerator
|
813
813
|
enum.each { |k1,k2| k1.even? }.must_equal Bihash[2 => :two, 4 => :four]
|
814
814
|
end
|
815
|
+
|
816
|
+
it 'should be aliased to #filter' do
|
817
|
+
bh = Bihash.new
|
818
|
+
bh.method(:filter).must_equal bh.method(:select)
|
819
|
+
end
|
815
820
|
end
|
816
821
|
|
817
822
|
describe '#select!' do
|
@@ -837,6 +842,11 @@ describe Bihash do
|
|
837
842
|
enum.must_be_instance_of Enumerator
|
838
843
|
enum.each { |k1, k2| k1.even? }.must_equal Bihash[2 => :two, 4 => :four]
|
839
844
|
end
|
845
|
+
|
846
|
+
it 'should be aliased to #filter!' do
|
847
|
+
bh = Bihash.new
|
848
|
+
bh.method(:filter!).must_equal bh.method(:select!)
|
849
|
+
end
|
840
850
|
end
|
841
851
|
|
842
852
|
describe '#shift' do
|
@@ -885,7 +895,7 @@ describe Bihash do
|
|
885
895
|
bh.must_include :key1
|
886
896
|
end
|
887
897
|
|
888
|
-
it 'should be
|
898
|
+
it 'should be aliased to #to_hash' do
|
889
899
|
bh = Bihash.new
|
890
900
|
bh.method(:to_hash).must_equal bh.method(:to_h)
|
891
901
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bihash
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cohen Carlisle
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-01-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '10
|
33
|
+
version: '10'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - "
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '10
|
40
|
+
version: '10'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: minitest
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -107,8 +107,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
107
|
- !ruby/object:Gem::Version
|
108
108
|
version: '0'
|
109
109
|
requirements: []
|
110
|
-
|
111
|
-
rubygems_version: 2.5.2.2
|
110
|
+
rubygems_version: 3.0.1
|
112
111
|
signing_key:
|
113
112
|
specification_version: 4
|
114
113
|
summary: Bidirectional Hash
|