trickery 0.0.2 → 0.0.3

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.
@@ -1,7 +1,7 @@
1
1
  class ::Hash
2
2
  def deep_merge(*hashes)
3
3
  merger = proc do |key, v1, v2|
4
- Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : v2
4
+ Hash === v1 && Hash === v2 ? v1.merge(v2, &merger) : (v2.nil? ? v1 : v2)
5
5
  end
6
6
  hashes.inject(self) do |result, other|
7
7
  result.merge(other, &merger)
@@ -1,3 +1,3 @@
1
1
  module Trickery
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -19,10 +19,10 @@ describe Hash do
19
19
  assert { { a: { b: 2, c: 4 } } == a.deep_merge(b, c) }
20
20
  end
21
21
 
22
- it 'merges nil' do
22
+ it 'ignores nil' do
23
23
  a = { a: { b: 0 } }
24
24
  b = { a: { b: nil } }
25
- assert { { a: { b: nil } } == a.deep_merge(b) }
25
+ assert { { a: { b: 0 } } == a.deep_merge(b) }
26
26
  end
27
27
 
28
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trickery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -129,7 +129,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
129
129
  version: '0'
130
130
  segments:
131
131
  - 0
132
- hash: 3366191683089287710
132
+ hash: 2592008232353536074
133
133
  required_rubygems_version: !ruby/object:Gem::Requirement
134
134
  none: false
135
135
  requirements:
@@ -138,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
138
  version: '0'
139
139
  segments:
140
140
  - 0
141
- hash: 3366191683089287710
141
+ hash: 2592008232353536074
142
142
  requirements: []
143
143
  rubyforge_project:
144
144
  rubygems_version: 1.8.23