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

Hereda:
Uno
  • Objeto
Mostrar todo
Definido en:
lib/mongoid/asociación/incrustado/incrustado_en/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 constante

Constantes heredadas de Proxy

Proxy::KEEPER_METHODS

Resumen del atributo de la instancia

Atributos heredados de Proxy

#_association, #_base, #_target

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?

Métodos heredados de Proxy

apply_ordering, #extend_proxies, #klass, #reset_unloaded, #substitutable

Métodos incluidos de Marshalable

#marshal_dump, #marshal_load

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(_objetivo)
    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 poseen las asociaciones dadas, que deben ser completados por los documentos cargados con anticipación.

Devuelve:



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

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.



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

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 se realizará el cálculo.

Devuelve:

  • (Root)

    El calculador de rutas atómicas raíz.



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

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

Detalles del método de instancia

#sustituto(reemplazo) ⇒ Documento | nulo

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:

  • sustitución (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(sustitución)
  unbind_one
  a menos que sustitución
    _base.borrar si ¿persistente?
    return nulo
  end
  _base.nuevo_registro = true
  sustitución = Fábrica.compilar(klass, sustitución) si sustitución.is_a?(::Picadillo)
  sí mismo._objetivo = sustitución
  bind_one
  sí mismo
end