super_stack 0.2.1 → 0.2.2
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 76b2ee5a212a3fc2b009157f49e6ce424f817fb2
|
4
|
+
data.tar.gz: 65f3658c66dde1b9f0337e186b8bdf45047c9ca5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d73177dd7b19273d826856dc01ce0adab2a17c25ec33dbce8c322ed2cc6a95351912e99c78f08106d1bcd858e76802ed88cfe5a2bfbb0cf1fccccfbe2de0287e
|
7
|
+
data.tar.gz: 082635a815bbb2179e980b289f962d6d76a7347fa086694b773e2043d084699ccf4e4a2cc60272fd73df7876b06a892f541bc863c3f3bc7034e1712227be0ba6
|
data/lib/super_stack/manager.rb
CHANGED
@@ -11,9 +11,19 @@ module SuperStack
|
|
11
11
|
end
|
12
12
|
|
13
13
|
def self.merge(h1, h2)
|
14
|
-
|
14
|
+
if h1.respond_to? :manager
|
15
|
+
saved_manager = h1.manager
|
16
|
+
h1.instance_variable_set :@manager, nil
|
17
|
+
end
|
18
|
+
|
19
|
+
begin
|
20
|
+
deep_cloned_source = Marshal::load(Marshal.dump(h1))
|
21
|
+
ensure
|
22
|
+
h1.instance_variable_set :@manager, saved_manager if h1.respond_to? :manager
|
23
|
+
end
|
15
24
|
deep_cloned_source.extend DeepMergeWrapper
|
16
25
|
deep_cloned_source.deep_merge! h2
|
26
|
+
|
17
27
|
end
|
18
28
|
|
19
29
|
end
|
data/lib/super_stack/version.rb
CHANGED
data/spec/manager_spec.rb
CHANGED
@@ -19,6 +19,11 @@ describe SuperStack::Manager do
|
|
19
19
|
expect( subject.respond_to? :layers).to be_truthy
|
20
20
|
end
|
21
21
|
|
22
|
+
it 'should be added as manager to added layers' do
|
23
|
+
subject.add_layer({})
|
24
|
+
expect(subject.layers.values.first.manager == subject).to be_truthy
|
25
|
+
end
|
26
|
+
|
22
27
|
it 'should present layers ordered by priority' do
|
23
28
|
l1 = SuperStack::Layer.new
|
24
29
|
l1.priority = 1
|
@@ -36,12 +41,9 @@ describe SuperStack::Manager do
|
|
36
41
|
expect(subject.to_a[1] == l2).to be_truthy
|
37
42
|
end
|
38
43
|
|
39
|
-
it 'should have a default policy' do
|
44
|
+
it 'should have a default merge policy' do
|
40
45
|
expect( subject.respond_to? :default_merge_policy).to be_truthy
|
41
46
|
expect( subject.respond_to? :'default_merge_policy=').to be_truthy
|
42
|
-
end
|
43
|
-
|
44
|
-
it 'should have a default merge policy' do
|
45
47
|
expect( subject.default_merge_policy == SuperStack::Manager::DEFAULT_MERGE_POLICY).to be_truthy
|
46
48
|
end
|
47
49
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: super_stack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Laurent B.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-12-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|