class CaseTransform2::HashExt

@api private

Public Instance Methods

deep_transform_keys!(object, &block) click to toggle source
# File lib/case_transform2/hash_ext.rb, line 6
def deep_transform_keys!(object, &block)
  _deep_transform_keys_in_object!(object, &block)
end

Private Instance Methods

_deep_transform_keys_in_object!(object) { |key| ... } click to toggle source
# File lib/case_transform2/hash_ext.rb, line 12
def _deep_transform_keys_in_object!(object, &block)
  case object
  when Hash
    object.keys.each do |key|
      value = object.delete(key)
      object[yield(key)] = _deep_transform_keys_in_object!(value, &block)
    end
    object
  when Array
    object.map! { |e| _deep_transform_keys_in_object!(e, &block) }
  else
    object
  end
end