bihash 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 267f9af4575dbcca9216e1c780c6d5bd91f291be
4
- data.tar.gz: 249056135bb1a35e4f90c7b4f6453f317dfc410a
2
+ SHA256:
3
+ metadata.gz: a83c5fe6e801a94f9e8166a1d7fbad9cf217ceb6350d7028c8378934c641a523
4
+ data.tar.gz: daefa34c37020a266fc8f82e5acdd962b4f5a8db4dbf53ad61713be5cb6bc38f
5
5
  SHA512:
6
- metadata.gz: 4fb2d4c5807667407e8feff5f189e52ee899900cb1c85d025ebb25b439d570f8f0b60530bfd1b13fa9bb45f8c2c1f0d49e9ae4ac4648af16421aedb24bb2b2e9
7
- data.tar.gz: dd4c378857235311be4573879a1aea3932e73ff55edf40052bbdb6e3c8c5ee2f63170677a88fb5eb5b0c84347e2cbb19bb9b58282a8c2099ab769456b292c568
6
+ metadata.gz: 39bb9c095ceccc8229c2646f2b1f44cba29c957f202c93ff45bd0fdeffd8b1d3e1f875cfd895aa1086c0e546a8b1304945de473710a45161724929f142e95161
7
+ data.tar.gz: c93e9e0b8d0564921d52242874083c6b2d41b8c5b6d3dc7045e1d7013b2fbbeb4a1a913bda8f8231f6c281701dedab8b40adebb7d6129024408b449b27e99a47
@@ -1,6 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.3.6
4
- - 2.4.3
5
- - 2.5.0
6
- before_install: gem install bundler -v 1.16.1
3
+ - 2.3.8
4
+ - 2.4.5
5
+ - 2.5.3
6
+ - 2.6.0
@@ -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', '~> 10.0'
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
@@ -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
- def select(&block)
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
- def select!(&block)
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
@@ -1,3 +1,3 @@
1
1
  class Bihash
2
- VERSION = '1.1.0'
2
+ VERSION = '1.2.0'
3
3
  end
@@ -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 an alias of #to_hash' do
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.1.0
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: 2018-03-25 00:00:00.000000000 Z
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.0'
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.0'
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
- rubyforge_project:
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