Clase: Mongoid::Asociación::Referenciado::Pertenece a::Proxy

Hereda:
Uno
  • Objeto
Mostrar todo
Incluye:
Evolutivo
Definido en:
lib/mongoid/asociación/referenciada/pertenece_a/proxy.rb

Overview

Proxy transparente para asociaciones belong_to. Se devuelve una instancia de esta clase al llamar al método getter de asociación en el documento principal. 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.

Resumen constante

Constantes heredadas de Proxy

Proxy::MÉTODOS_KEEPER

Resumen de atributos de instancia

Atributos heredados de Proxy

#_association, #_base, #_target

Colapso delresumen del método de clase

Colapso del resumen del método de instancia

Métodos incluidos de Evolvable

#__id_del_objeto_evolucionado__

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

Crear una instancia de un nuevo proxy de asociación belong_to.

Ejemplos:

Crea el nuevo proxy.

Association::BelongsTo::Proxy.new(game, person, association)

Parámetros:



26
27
28
29
30
31
# Archivo 'lib/mongoid/association/referenced/belongs_to/proxy.rb', línea 26

def inicializar(base, destino, asociación)
  Super hacer
    characterize_one(_objetivo)
    bind_one
  end
end

Detalles del método de clase

.eager_loader(asociación, documentos) ⇒ Mongoid::Asociación::Referenciado::Pertenece a::Eager

Obtenga el objeto Eager para este tipo de asociación.

Ejemplos:

Obtén el objeto de carga anticipada

Parámetros:

Devuelve:



110
111
112
# Archivo 'lib/mongoid/association/referenced/belongs_to/proxy.rb', línea 110

def cargador ansioso(asociación, docs)
  Ansioso.Nuevo(asociación, docs)
end

.¿incrustado?falso

Devuelve verdadero si la asociación es incrustada. En este caso, siempre es falso.

Ejemplos:

¿Está esta asociación incrustada?

Association::BelongsTo::Proxy.embedded?

Devuelve:

  • (FALSO) -

    Siempre falso.



121
122
123
# Archivo 'lib/mongoid/association/referenced/belongs_to/proxy.rb', línea 121

def ¿incorporado?
  false
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


39
40
41
42
# Archivo 'lib/mongoid/association/referenced/belongs_to/proxy.rb', línea 39

def anular
  unbind_one
  _objetivo.guardar
end

#sustituto(reemplazo) ⇒ propio | nulo

Sustituye los documentos de destino suministrados por el documento existente en la asociación.

Ejemplos:

Sustituir la asociación.

name.substitute(new_name)

Parámetros:

Devuelve:

  • ( yo mismo| nulo ) —

    La asociación o nula.



53
54
55
56
57
58
59
60
# Archivo 'lib/mongoid/association/referenced/belongs_to/proxy.rb', línea 53

def sustituir(sustitución)
  unbind_one
  return a no ser que sustitución

  yo._objetivo = normalizar(sustitución)
  bind_one
  yo
end