Modulo: Mongoid::Persistable::Renamable

Ampliado por:
ActiveSupport::Concern
Incluido en:
Mongoid::Persistable
Definido en:
lib/mongoid/persistable/renamable.rb

Overview

Define el comportamiento para las operaciones de $rename.

Resumen del método de instancia colapsar

Detalles del método de instancia

#rename(renames) ⇒ Documento

Nota:

Esto no funciona para los campos de las asociaciones embed many.

Renombra campos de un valor a otro usando $rename.

Ejemplos:

Renombra los campos.

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

Parámetros:

  • renombramientos (encriptada)

    Los pares de cambio de nombre viejo/nuevo.

Devuelve:



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Archivo 'lib/mongoid/persistable/renamable.rb', línea 19

def renombrar(renombramientos)
  preparar_operación_atómica hacer |ops|
    proceso_operaciones_atómicas(renombramientos) hacer |campo_antiguo, nuevo_campo|
      new_name = nuevo_campo.to_s
      si ejecutando_atómicamente?
        process_attribute new_name, atributos[campo_antiguo]
        process_attribute campo_antiguo, nulo
      else
        atributos[new_name] = atributos.borrar(campo_antiguo)
      end
      ops[atomic_attribute_name(campo_antiguo)] = atomic_attribute_name(new_name)
    end
    { '$rename' => ops }
  end
end