valise 1.1.2 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 595572bd8badbc1f6cdc0180301b97c39b5a5db9
4
- data.tar.gz: 51ce6702114d48371432dd2bbe9747d6dcea9b83
3
+ metadata.gz: a283caacd236ce4be21dd9f0e2d3df40948c3bdb
4
+ data.tar.gz: 49c285b29cded418465616fc560392a5d05dda71
5
5
  SHA512:
6
- metadata.gz: 34cd3b95ab86795ff19f622fa8f9e6dc7601bd87470ba5eff8c27cf5eaab9a803b7812fd0f422efc190877055b1b1cb6ea0a58ff74912d44ec6a95062c21a112
7
- data.tar.gz: 6b1e8ccf94867befc5e5c1897bbfd8a650de738cfac98e8d28381303c889fa1b5e853f13d56e9b353abb4d247760a3b28821ed9ab3a76b9aeb9eaab47fb68dc6
6
+ metadata.gz: 8a36a7e75ec4ee6e1b83105d3b675b2289a2d4f11a343876a8b84c37cdb9f2aa275fcb71a436fb9f2983e3725bb8e4a76a0fd5a0f90e51e6939ac4147d245781
7
+ data.tar.gz: 00b1168bfa5f39af1d09f9b686f7ec0951fff8e3289b93254b0ddf153de17cb854f91cae3a5da1984ac5d813dfecd964803a2dbc648f86f4963b0ef9f31817fd
@@ -37,8 +37,13 @@ module Valise
37
37
  item.each_pair do |key, value|
38
38
  case value
39
39
  when Hash
40
- collect[key] ||= {}
41
- deep_merge(collect[key], value)
40
+ existing = collect[key] ||= {}
41
+ case existing
42
+ when Hash
43
+ deep_merge(existing, value)
44
+ else
45
+ collect[key] = value
46
+ end
42
47
  else
43
48
  collect[key] = value
44
49
  end
data/spec/merge-diff.rb CHANGED
@@ -81,6 +81,13 @@ describe Valise do
81
81
 
82
82
  item.contents["a"].should == {"a" => 1, "b" => 2, "c" => 3}
83
83
  end
84
+
85
+ it "should merge mixed scalars and lists" do
86
+ bottom_hash["a"] = {"a" => 1, "b" => 1, "c" => [1], "d" => {"1" => 1}}
87
+ middle_hash["a"] = {"a" => [1], "b" => {"1" => 2}, "c" => 1, "d" => "1"}
88
+
89
+ item.contents["a"].should == {"a" => [1], "b" => {"1" => 2}, "c" => 1, "d" => "1"}
90
+ end
84
91
  end
85
92
 
86
93
  describe "diff" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: valise
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.2
4
+ version: 1.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Judson Lester
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-26 00:00:00.000000000 Z
11
+ date: 2015-02-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: corundum
@@ -210,7 +210,7 @@ rdoc_options:
210
210
  - --main
211
211
  - doc/README
212
212
  - --title
213
- - valise-1.1.2 RDoc
213
+ - valise-1.1.3 RDoc
214
214
  require_paths:
215
215
  - lib/
216
216
  required_ruby_version: !ruby/object:Gem::Requirement