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 +4 -4
- data/lib/valise/strategies/merge-diff.rb +7 -2
- data/spec/merge-diff.rb +7 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a283caacd236ce4be21dd9f0e2d3df40948c3bdb
|
4
|
+
data.tar.gz: 49c285b29cded418465616fc560392a5d05dda71
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
-
|
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.
|
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:
|
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.
|
213
|
+
- valise-1.1.3 RDoc
|
214
214
|
require_paths:
|
215
215
|
- lib/
|
216
216
|
required_ruby_version: !ruby/object:Gem::Requirement
|