Clase: Mongoid::Association::Referenced::HasOne::Proxy

Hereda:
Uno
  • Objeto
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

Proxy::KEEPER_METHODS

Resumen del atributo de la instancia

Atributos heredados de Proxy

#_association, #_base, #_target

Resumen del método de instancia colapsar

Métodos incluidos de ClassMethods

eager_loader, embedded?

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

#inicializar(base, destino, asociación) ⇒ Proxy

Crea una nueva asociación references_one. Establece la clave externa y la base en el objeto inverso.

Ejemplos:

Crear la nueva asociación.

Referenced::One.new(base, target, association)

Parámetros:



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.¿Incorporado? && !klass.¿cíclico?
    characterize_one(_objetivo)
    bind_one
    _objetivo.guardar si ¿persistente?
  end
end

Detalles del método de instancia

#nullifyobjeto

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.

Ejemplos:

Anule la asociación.

person.game.nullify


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.

Ejemplos:

Reemplazar la asociación.

person.game.substitute(new_game)

Parámetros:

  • sustitución (Array<documento>)

    El objetivo de reemplazo.

Devuelve:

  • (Uno)

    La asociación.



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