Módulo: Mongoid::Persistable::Renameable

Estendido por:
ActiveSupport::Concern
Incluído em:
Mongoid::Persistable
Definido em:
lib/mongoid/persistable/renamable.rb

Visão geral

Define o comportamento das operações $rename.

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#rename(renomeia) ➤ Documento

Observação:

Isso não funciona para campos em incorpora muitas associações.

Renomeie campos de um valor para outro via $renomear.

Exemplos:

Renomeie os campos.

document.rename(title: "salutation", name: "nombre")

Parâmetros:

  • renomeia (Hash)

    Os pares de renomeação de nome antigo/novo nome.

Retorna:



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# Arquivo 'lib/mongoid/persistable/renamable.rb', linha 21

def renomear(renomeia)
  prepare_atomic_operation fazer |ops|
    process_atomic_operations(renomeia) fazer |old_field, new_field|
      new_name = new_field.to_s
      se execution_atomicly?
        process_attribute new_name, attributes[old_field]
        process_attribute old_field, nada
      mais
        attributes[new_name] = attributes.excluir(old_field)
      end
      ops[atomic_attribute_name(old_field)] = atomic_attribute_name(new_name)
    end
    { "$renomear" => ops }
  end
end