Module: SuperStack::MergePolicies::FullMergePolicy
- Defined in:
- lib/super_stack/merge_policies/full_merge_policy.rb
Defined Under Namespace
Modules: DeepMergeWrapper
Class Method Summary collapse
Class Method Details
.merge(h1, h2) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/super_stack/merge_policies/full_merge_policy.rb', line 13 def self.merge(h1, h2) if h1.respond_to? :manager saved_manager = h1.manager h1.instance_variable_set :@manager, nil end begin deep_cloned_source = Marshal::load(Marshal.dump(h1)) ensure h1.instance_variable_set :@manager, saved_manager if h1.respond_to? :manager end deep_cloned_source.extend DeepMergeWrapper deep_cloned_source.deep_merge! h2 end |