class Hash
Patch to hash
Public Instance Methods
deep_symbolize_keys()
click to toggle source
activesupport-4.1.1/lib/active_support/core_ext/hash/keys.rb
# File lib/fusuma/hash_support.rb, line 6 def deep_symbolize_keys deep_transform_keys do |key| key.to_sym rescue StandardError key end end
deep_transform_keys() { |key| ... }
click to toggle source
# File lib/fusuma/hash_support.rb, line 14 def deep_transform_keys(&block) result = {} each do |key, value| result[yield(key)] = value.is_a?(Hash) ? value.deep_transform_keys(&block) : value end result end
deep_transform_values(&block)
click to toggle source
activesupport/lib/active_support/core_ext/hash/deep_transform_values.rb
# File lib/fusuma/hash_support.rb, line 23 def deep_transform_values(&block) _deep_transform_values_in_object(self, &block) end
Private Instance Methods
_deep_transform_values_in_object(object) { |object| ... }
click to toggle source
Support methods for deep transforming nested hashes and arrays.
# File lib/fusuma/hash_support.rb, line 30 def _deep_transform_values_in_object(object, &block) case object when Hash object.transform_values { |value| _deep_transform_values_in_object(value, &block) } when Array object.map { |e| _deep_transform_values_in_object(e, &block) } else yield(object) end end