valise 1.1.2 → 1.1.3

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