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 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