module Mongoid::Persistable::Renamable
Defines behaviour for $rename operations.
@since 4.0.0
Public Instance Methods
rename(renames)
click to toggle source
Rename fields from one value to another via $rename.
@example Rename the fields.
document.rename(title: "salutation", name: "nombre")
@note This does not work for fields in embeds many relations.
@param [ Hash ] renames The rename pairs of old name/new name.
@return [ Document
] The document.
@since 4.0.0
# File lib/mongoid/persistable/renamable.rb, line 23 def rename(renames) prepare_atomic_operation do |ops| process_atomic_operations(renames) do |old_field, new_field| new_name = new_field.to_s attributes[new_name] = attributes.delete(old_field) ops[atomic_attribute_name(old_field)] = atomic_attribute_name(new_name) end { "$rename" => ops } end end