class Hash

Public Instance Methods

deep_transform_values(&block) click to toggle source
# File lib/rails_com/core/hash.rb, line 3
def deep_transform_values(&block)
  _deep_transform_values_in_object(self, &block)
end
deep_transform_values!(&block) click to toggle source
# File lib/rails_com/core/hash.rb, line 7
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
# File lib/rails_com/core/hash.rb, line 12
def _deep_transform_values_in_object(object, &block)
  case object
  when Hash
    object.each_with_object({}) do |(key, value), result|
      result[key] = _deep_transform_values_in_object(value, &block)
    end
  when Array
    object.map { |e| _deep_transform_values_in_object(e, &block) }
  else
    yield(object)
  end
end
_deep_transform_values_in_object!(object) { |object| ... } click to toggle source
# File lib/rails_com/core/hash.rb, line 25
def _deep_transform_values_in_object!(object, &block)
  case object
  when Hash
    object.each do |key, value|
      object[key] = _deep_transform_values_in_object!(value, &block)
    end
  when Array
    object.map! { |e| _deep_transform_values_in_object!(e, &block) }
  else
    yield(object)
  end
end