Actions
Feature #21182
openAdd Hash#rename
Status:
Open
Assignee:
-
Target version:
-
Description
Abstract: Implement Hash#rename which takes as arguments a from key and a to key and renames the from key to the new name.
Background: One of the most common data transformations for a hash (in my experience) is renaming a single key. You can do this with the existing hash methods (e.g. hash['new'] = hash.delete('old')
or hash.transform_keys('old' => 'new')
) but they feel a bit clunky.
Proposal:
Add a new method to Hash, something like this:
class Hash
# usage { old: 'value' }.rename(:old, to: :new)
# => { new: 'value' }
def rename(from, to:)
transform_keys(from => to)
end
def rename!(from, to:)
transform_keys!(from => to)
end
end
Actions
Like0
Like0