Modulo: Mongoid::Persistable::Renamable

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

Overview

Define el comportamiento de las operaciones $rename.

Resumen del método de instancia colapsar

Detalles del método de instancia

#renombrar(renombrar) ⇒ Documento

Nota:

Esto no funciona para campos en incrustaciones que tienen muchas asociaciones.

Cambie el nombre de los campos de un valor a otro mediante $rename.

Ejemplos:

Renombra los campos.

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

Parámetros:

  • renombramientos (encriptada)

    Los pares de cambio de nombre viejo/nuevo.

Devuelve:



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

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