Módulo: Mongoid::Persistable::Renamable

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

Overview

Define el comportamiento de las operaciones $rename.

Colapso del resumen del método de instancia

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:

Cambiar el nombre de los campos.

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

Parámetros:

  • cambia el nombre (Hash)

    Los pares de cambio de nombre de nombre antiguo/nombre 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(cambia el nombre)
  preparar_operación_atómica hacer |ops|
    operaciones atómicas del proceso(cambia el nombre) hacer |campo antiguo, nuevo_campo|
      new_name = nuevo_campo.a_s
      Si ejecutando_atómicamente?
        atributo_de_proceso new_name, atributos[campo antiguo]
        atributo_de_proceso campo antiguo, nulo
      else
        atributos[new_name] = atributos.borrar(campo antiguo)
      end
      ops[nombre_del_atributo_atómico(campo antiguo)] = nombre_del_atributo_atómico(new_name)
    end
    { "$rename" => ops }
  end
end