Clase: Mongoid::Association::Referenced::HasOne::Proxy
- Hereda:
- Uno Mostrar todo
- Ampliado por:
- ClassMethods
- Definido en:
- lib/mongoid/asociación/referenciado/tiene_uno/proxy.rb
Overview
Proxy transparente para asociaciones has_one. Se devuelve una instancia de esta clase al llamar al método getter de asociación en el documento en cuestión. 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 de la colección del lado opuesto que debe cargarse.
Definido bajo Namespace
Modules: ClassMethods
Resumen constante
Constantes heredadas de Proxy
Resumen del atributo de la instancia
Atributos heredados de Proxy
#_association, #_base, #_target
Resumen del método de instancia colapsar
-
#inicializar(base, destino, asociación) ⇒ Proxy
constructor
Instanciar una nueva asociación references_one.
-
#anular ⇒ Objeto
Remueve la asociación entre el documento base y el documento objetivo borrando la clave foránea y la referencia, dejando huérfano al documento objetivo en el proceso.
-
#sustituto(reemplazo) ⇒ Uno
Sustituye el documento de destino suministrado por el documento existente en la asociación.
Métodos incluidos de ClassMethods
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
Detalles del constructor
#inicializar(base, destino, asociación) ⇒ Proxy
Crea una nueva asociación references_one. Establece la clave externa y la base en el objeto inverso.
43 44 45 46 47 48 49 50 |
# Archivo 'lib/mongoid/association/referenced/has_one/proxy.rb', línea 43 def inicializar(base, Objetivo, asociación) super hacer raise_mixed si klass. && !klass.¿cíclico? characterize_one(_objetivo) bind_one _objetivo.guardar si ¿persistente? end end |
Detalles del método de instancia
#nullify ⇒ objeto
Remueve la asociación entre el documento base y el documento objetivo borrando la clave foránea y la referencia, dejando huérfano al documento objetivo en el proceso.
58 59 60 61 |
# Archivo 'lib/mongoid/association/referenced/has_one/proxy.rb', línea 58 def anular unbind_one _objetivo.guardar end |
#sustituto(replacement) ⇒ Oferta
Sustituye el documento de destino proporcionado por el documento existente en la asociación. Si el nuevo objetivo es nulo, realice la eliminación necesaria.
73 74 75 76 |
# Archivo 'lib/mongoid/association/referenced/has_one/proxy.rb', línea 73 def sustituir(sustitución) prepararse para el reemplazo si sí mismo != sustitución HasOne::Apoderado.Nuevo(_base, sustitución, _association) si sustitución end |