Module: Mongoid::Persistable::Renamable
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| Included In: | |
| Super Chains via Extension / Inclusion / Inheritance | |
| Class Chain: 
          self,
          ActiveSupport::Concern
         | |
| Defined in: | lib/mongoid/persistable/renamable.rb | 
Overview
Defines behavior for $rename operations.
Instance Method Summary
- 
    
      #rename(renames)  ⇒ Document 
    
    Rename fields from one value to another via $rename. 
Instance Method Details
#rename(renames) ⇒ Document
    Note:
    
  
This does not work for fields in embeds many associations.
Rename fields from one value to another via $rename.
# File 'lib/mongoid/persistable/renamable.rb', line 21
def rename(renames) prepare_atomic_operation do |ops| process_atomic_operations(renames) do |old_field, new_field| new_name = new_field.to_s if executing_atomically? process_attribute new_name, attributes[old_field] process_attribute old_field, nil else attributes[new_name] = attributes.delete(old_field) end ops[atomic_attribute_name(old_field)] = atomic_attribute_name(new_name) end { "$rename" => ops } end end