Clase: Mongoid::Association::Embedded::EmbedsOne::Proxy
- Hereda:
-
Uno
- Objeto
- Association::Proxy
- Uno
- Mongoid::Association::Embedded::EmbedsOne::Proxy
- Definido en:
- lib/mongoid/association/embedded/embeds_one/proxy.rb
Overview
Proxy transparente para asociaciones embeds_one. Se devuelve una instancia de esta clase al llamar al método getter de asociación en el documento padre. 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 hijo.
Resumen de constantes colapsar
- VALID_OPTIONS =
Las opciones válidas al definir esta asociación.
%i[ compilación automática como Cascade_callbacks cíclico store_as ].freeze
Resumen del método de clase colapsar
-
.eager_loader(asociaciones, docs) ⇒ Mongoid::Association::Embedded::Eager
Devuelve el cargador entusiasta para esta asociación.
-
.empotrado? ⇒ verdad
Devuelve “true” si la asociación es de tipo incrustada.
-
.ruta(documento) ⇒ Mongoid::Atomic::Paths::Embedded::One
Obtén la calculadora de rutas para el documento suministrado.
Resumen del método de instancia colapsar
-
#initialize(base, target, association) ⇒ Proxy
constructor
Crea una nueva asociación embeds_one.
-
#sustituir(reemplazo) ⇒ Documento | nulo
Sustituye los documentos de destino proporcionados por el documento existente en la asociación.
Métodos heredados de One
#__evolve_object_id__, #clear, #in_memory, #respond_to?
Detalles del Constructor
#initialize(base, target, association) ⇒ Proxy
Crea una nueva asociación embeds_one.
33 34 35 36 37 38 39 40 41 42 |
# Archivo 'lib/mongoid/association/embedded/embeds_one/proxy.rb', línea 33 def inicializar(base, Objetivo, asociación) super hacer characterize_one(_target) bind_one characterize_one(_target) update_attributes_hash(_target) _target.guardar si ¿persistente? _base._reset_memoized_descendants! 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.
190 191 192 |
# Archivo 'lib/mongoid/association/embedded/embeds_one/proxy.rb', línea 190 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.
201 202 203 |
# Archivo 'lib/mongoid/association/embedded/embeds_one/proxy.rb', línea 201 def true 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.
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# Archivo 'lib/mongoid/association/embedded/embeds_one/proxy.rb', línea 53 def sustituir(reemplazo) return sí mismo si reemplazo == sí mismo si ¿_asignando? _base.add_atomic_unset(_target) a menos que reemplazo else update_target_when_not_assigning(reemplazo) end unbind_one return nulo si replace_with_nil_document(reemplazo) reemplazar_con(reemplazo) sí mismo end |