module Sparrow::CoreExt::Hash

Public Instance Methods

deep_transform_in_object(obj) { |key| ... } click to toggle source
# File lib/sparrow/core_ext/hash.rb, line 13
def deep_transform_in_object(obj, &block)
  case obj
    when ::Hash
      obj.each_with_object({}) do |(key,value), result|
        result[yield(key)] = deep_transform_in_object(value, &block)
      end
    when Array
      obj.map { |el| deep_transform_in_object(el, &block) }
    else
      obj
  end
end
deep_transform_keys(&block) click to toggle source

Defines deep_transform_keys as available in ActiveSupport >= 4.0.2. See {apidock.com/rails/v4.2.1/Hash/deep_transform_keys}

# File lib/sparrow/core_ext/hash.rb, line 7
def deep_transform_keys(&block)
  deep_transform_in_object(self, &block)
end