class Hash
Constants
- DEEP_MERGER
deep_merge_hash! by Stefan Rusterholz, see www.ruby-forum.com/topic/142809
Public Instance Methods
compact()
click to toggle source
# File lib/core_ext/hash/compact.rb, line 2 def compact inject({}) do |result, (key, value)| result[key] = value unless value.nil? result end end
deep_merge(data)
click to toggle source
# File lib/core_ext/hash/deep_merge.rb, line 7 def deep_merge(data) merge(data, &DEEP_MERGER) end
deep_merge!(data)
click to toggle source
# File lib/core_ext/hash/deep_merge.rb, line 11 def deep_merge!(data) merge!(data, &DEEP_MERGER) end
deep_symbolize_keys()
click to toggle source
# File lib/core_ext/hash/deep_symbolize_keys.rb, line 2 def deep_symbolize_keys inject({}) { |result, (key, value)| result[(key.to_sym rescue key) || key] = case value when Array value.map { |value| value.is_a?(Hash) ? value.deep_symbolize_keys : value } when Hash value.deep_symbolize_keys else value end