class Hash

Public Instance Methods

deep_merge(second) click to toggle source
# File lib/asperalm/hash_ext.rb, line 13
def deep_merge(second)
  self.merge(second){|key,v1,v2|Hash===v1&&Hash===v2 ? v1.deep_merge(v2) : v2}
end
deep_merge!(second) click to toggle source
# File lib/asperalm/hash_ext.rb, line 17
def deep_merge!(second)
  self.merge!(second){|key,v1,v2|Hash===v1&&Hash===v2 ? v1.deep_merge!(v2) : v2}
end
dig(*path) click to toggle source
# File lib/asperalm/hash_ext.rb, line 4
def dig(*path)
  path.inject(self) do |location, key|
    location.respond_to?(:keys) ? location[key] : nil
  end
end
symbolize_keys() click to toggle source
# File lib/asperalm/hash_ext.rb, line 24
def symbolize_keys
  return self.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo}
end