class Hash
Allow recursive merging of Hashes thanks to stackoverflow.com/a/25990044
Public Instance Methods
deep_merge(second)
click to toggle source
# File lib/ruby_wings.rb, line 40 def deep_merge(second) merger = proc do |key, v1, v2| if Hash === v1 && Hash === v2 v1.merge(v2, &merger) else [:undefined, nil, :nil].include?(v2) ? v1 : v2 end end self.merge(second, &merger) end
symbolize()
click to toggle source
# File lib/ruby_wings.rb, line 51 def symbolize Hash[ self.map do |k, v| [(k.respond_to?(:to_sym) ? k.to_sym : k), v.class == Hash ? v.symbolize : v] end ] end