Clase: Mongoid::Association::Referenced::BelongsTo::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::KEEPER_METHODS

Resumen del atributo de la instancia

Atributos heredados de Proxy

#_association, #_base, #_target

Resumen del método de clase colapsar

Resumen del método de instancia colapsar

Métodos incluidos de Evolvable

#__evolve_object_id__

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

Instancia un nuevo proxy de asociación belongs_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, Objetivo, asociación)
  super hacer
    characterize_one(_objetivo)
    bind_one
  end
end

Detalles del método de clase

.eager_loader(association, docs) ⇒ Mongoid::Association::Referenced::BelongsTo::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 eager_loader(asociación, docs)
  Entusiasta.Nuevo(asociación, docs)
end

.¿integrado?false

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

Ejemplos:

¿Está esta asociación incrustada?

Association::BelongsTo::Proxy.embedded?

Devuelve:

  • (false)

    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

#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


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

def anular
  unbind_one
  _objetivo.guardar
end

#sustituir(reemplazo) ⇒ self | nil

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

Ejemplos:

Sustitúyase la asociación.

name.substitute(new_name)

Parámetros:

Devuelve:

  • (self | nil)

    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 menos que sustitución

  sí mismo._objetivo = normalizar(sustitución)
  bind_one
  sí mismo
end