Clase: Mongoid::Asociación::Referenciado::TieneUno::Proxy

Hereda:
Uno
  • Objeto
Mostrar todo
Ampliado por:
Métodos de clase
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 en el espacio de nombres

Modules: Métodos de clase

Resumen constante

Constantes heredadas de Proxy

Proxy::MÉTODOS_KEEPER

Resumen de atributos de instancia

Atributos heredados de Proxy

#_association, #_base, #_target

Colapso del resumen del método de instancia

Métodos incluidos de ClassMethods

eager_loader, ¿incrustado?

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, 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, destino, asociación)
  Super hacer
    aumento_mixto Si klass.¿incorporado? && !klass.¿cíclico?
    characterize_one(_objetivo)
    bind_one
    _objetivo.guardar Si ¿persistente?
  end
end

Detalles del método de instancia

#anularObjeto

Elimina la asociación entre el documento base y el documento de destino eliminando la clave externa y la referencia, dejando huérfano el documento de destino en el proceso.

Ejemplos:

Anular 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(reemplazo) ⇒ Uno

Sustituye el documento de destino proporcionado por el documento existente en la asociación. Si el nuevo destino es nulo, realiza la eliminación necesaria.

Ejemplos:

Reemplazar la asociación.

person.game.substitute(new_game)

Parámetros:

  • sustitución (Matriz)

    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 yo != sustitución
  Tiene uno::Apoderado.Nuevo(_base, sustitución, _asociación) Si sustitución
end