class Hash
Public Instance Methods
deep_merge(second)
click to toggle source
# File lib/aspera/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/aspera/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/aspera/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/aspera/hash_ext.rb, line 24 def symbolize_keys return self.inject({}){|memo,(k,v)| memo[k.to_sym] = v; memo} end