Clase: Mongoid::Association::Referenced::HasOne::Proxy
- Hereda:
-
Uno
- Objeto
- Association::Proxy
- Uno
- Mongoid::Association::Referenced::HasOne::Proxy
- Ampliado por:
- ClassMethods
- Definido en:
- lib/mongoid/association/referenced/has_one/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 sujeto. Esta clase hereda de Mongoid::Association::Proxy y redirige la mayoría de sus métodos al destino de la asociación, es decir, al documento de la colección del lado opuesto que debe estar cargado.
Definido bajo Namespace
Modules: ClassMethods
Resumen del método de instancia colapsar
-
#initialize(base, target, association) ⇒ Proxy
constructor
Instanciar una nueva asociación references_one.
-
#nullify ⇒ Object
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.
-
#sustituir(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?
Detalles del Constructor
#initialize(base, target, association) ⇒ Proxy
Instanciar una nueva asociación references_one. Establecerá 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(_target) bind_one _target.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 _target.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(reemplazo) prepare_for_replacement si sí mismo != reemplazo HasOne::Proxy.Nuevo(_base, reemplazo, _association) si reemplazo end |