Clase: Mongoid::Association::Embedded::EmbeddedIn::Proxy

Hereda:
Uno
  • Objeto
Mostrar todo
Definido en:
lib/mongoid/association/embedded/embedded_in/proxy.rb

Overview

Proxy transparente para las asociaciones embedded_in. Se devuelve una instancia de esta clase cuando se llama al método getter de asociación en el documento hijo. Esta clase hereda de Mongoid::Association::Proxy y reenvía la mayoría de sus métodos al objetivo de la asociación, es decir, al documento principal.

Resumen del método de clase colapsar

Resumen del método de instancia colapsar

Métodos heredados de One

#__evolve_object_id__, #clear, #in_memory, #respond_to?

Detalles del Constructor

#initialize(base, target, association) ⇒ In

Instancia una nueva asociación embedded_in.

Ejemplos:

Crear la nueva asociación.

Association::Embedded::EmbeddedIn.new(person, address, association)

Parámetros:



24
25
26
27
28
29
# Archivo 'lib/mongoid/association/embedded/embedded_in/proxy.rb', línea 24

def inicializar(base, Objetivo, asociación)
  super hacer
    characterize_one(_target)
    bind_one
  end
end

Detalles del método de clase

.eager_loader(asociaciones, docs) ⇒ Mongoid::Asociación::Incrustado::Eager

Devuelve el cargador entusiasta para esta asociación.

Parámetros:

  • asociaciones (Array<Mongoid::Association>)

    Las asociaciones que se cargarán con entusiasmo

  • docs (arreglo<Mongoid::Document>)

    Los documentos principales que cuentan con las asociaciones dadas, que deberían ser completadas por los documentos precargados.

  • use_lookup (true | false)

    Si usar una etapa de agregación $lookup para realizar la carga anticipada.

Devuelve:



97
98
99
# Archivo 'lib/mongoid/association/embedded/embedded_in/proxy.rb', línea 97

def eager_loader(asociaciones, docs)
  Entusiasta.Nuevo(asociaciones, docs)
end

.¿incrustado?true

Devuelve true si la asociación es una asociación embebida. En este caso, siempre es verdadero.

Ejemplos:

¿Está esta asociación incrustada?

Association::Embedded::EmbeddedIn.embedded?

Devuelve:

  • (cierto)

    verdadero.



108
109
110
# Archivo 'lib/mongoid/association/embedded/embedded_in/proxy.rb', línea 108

def ¿Incorporado?
  true
end

.path(documento) ⇒ Root

Obtén la calculadora de rutas para el documento suministrado.

Ejemplos:

Obtén la calculadora de rutas.

Proxy.path(document)

Parámetros:

  • Documento (documento)

    El documento sobre el que calcular.

Devuelve:

  • (Root)

    El calculador de rutas atómicas raíz.



120
121
122
# Archivo 'lib/mongoid/association/embedded/embedded_in/proxy.rb', línea 120

def ruta(Documento)
  Mongoid::Atómico::Rutas::Root (raíz).Nuevo(Documento)
end

Detalles del método de instancia

#substitute(replacement) ⇒ Documento | nil

Sustituye los documentos de destino proporcionados por el documento existente en la asociación.

Ejemplos:

Sustituya el nuevo documento.

person.name.substitute(new_name)

Parámetros:

  • reemplazo (Documento | Hash)

    Un documento para reemplazar el objetivo.

Devuelve:

  • (Document | nil)

    La asociación o nula.



40
41
42
43
44
45
46
47
48
49
50
51
# Archivo 'lib/mongoid/association/embedded/embedded_in/proxy.rb', línea 40

def sustituir(reemplazo)
  unbind_one
  a menos que reemplazo
    _base.borrar si ¿persistente?
    return nulo
  end
  _base.nuevo_registro = true
  reemplazo = Fábrica.compilar(klass, reemplazo) si reemplazo.is_a?(::encriptada)
  sí mismo._target = reemplazo
  bind_one
  sí mismo
end