Module: Flex::Struct::Mergeable

Defined in:
lib/flex/struct/mergeable.rb

Overview

allows deep merge between Hashes

Instance Method Summary collapse

Instance Method Details

#deep_dupObject



16
17
18
# File 'lib/flex/struct/mergeable.rb', line 16

def deep_dup
  Marshal.load(Marshal.dump(self))
end

#deep_merge(*hashes) ⇒ Object



6
7
8
9
10
# File 'lib/flex/struct/mergeable.rb', line 6

def deep_merge(*hashes)
  merged = deep_dup
  hashes.each {|h2| merged.replace(deep_merge_hash(merged,h2))}
  merged
end

#deep_merge!(*hashes) ⇒ Object



12
13
14
# File 'lib/flex/struct/mergeable.rb', line 12

def deep_merge!(*hashes)
  replace deep_merge(*hashes)
end