Method: ActiveSupport::HashWithIndifferentAccess#transform_keys!

Defined in:
activesupport/lib/active_support/hash_with_indifferent_access.rb

#transform_keys!(hash = NOT_GIVEN, &block) ⇒ Object



345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
# File 'activesupport/lib/active_support/hash_with_indifferent_access.rb', line 345

def transform_keys!(hash = NOT_GIVEN, &block)
  return to_enum(:transform_keys!) if NOT_GIVEN.equal?(hash) && !block_given?

  if hash.nil?
    super
  elsif NOT_GIVEN.equal?(hash)
    keys.each { |key| self[yield(key)] = delete(key) }
  elsif block_given?
    keys.each { |key| self[hash[key] || yield(key)] = delete(key) }
  else
    keys.each { |key| self[hash[key] || key] = delete(key) }
  end

  self
end