Clase: Mongoid::Asociación::Incrustado::IncrustadoEn::Proxy

Hereda:
Uno
  • Objeto
Mostrar todo
Definido en:
lib/mongoid/asociación/incrustado/incrustado_en/proxy.rb

Overview

Proxy transparente para asociaciones embedded_in. Se devuelve una instancia de esta clase al llamar 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 destino de la asociación, es decir, el documento padre.

Resumen constante

Constantes heredadas de Proxy

Proxy::MÉTODOS_KEEPER

Resumen de atributos de instancia

Atributos heredados de Proxy

#_association, #_base, #_target

Colapso delresumen del método de clase

Colapso del resumen del método de instancia

Métodos heredados de Uno

#__evolve_object_id__, #borrar, #en_memoria, #responder_a?

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

#inicializar(base, objetivo, asociación) ⇒ En

Crear 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, destino, asociación)
  Super hacer
    characterize_one(_objetivo)
    bind_one
  end
end

Detalles del método de clase

.eager_loader(asociaciones, documentos) ⇒ Mongoid::Association::Embedded::Eager

Devuelve el cargador ansioso para esta asociación.

Parámetros:

  • asociaciones (Matriz)

    Las asociaciones que se encuentran ansiosas de cargarse

  • docs (Matriz)

    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 cargador ansioso(asociaciones, docs)
  Ansioso.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:

  • (verdadero) -

    verdadero.



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

def ¿incorporado?
  true
end

.ruta(documento) ⇒ Raíz

Obtenga la calculadora de ruta para el documento proporcionado.

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:

  • (Raíz) -

    La calculadora de ruta atómica raíz.



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

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

Detalles del método de instancia

#sustituto(reemplazo) ⇒ Documento | nulo

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

Ejemplos:

Sustituir 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 no ser que sustitución
    _base.borrar Si ¿persistente?
    return nulo
  end
  _base.nuevo_registro = true
  sustitución = Fábrica.construir(klass, sustitución) Si sustitución.is_a?(::Picadillo)
  yo._objetivo = sustitución
  bind_one
  yo
end