Clase: Mongoid::Association::Proxy

Hereda:
Objeto
  • Objeto
Mostrar todo
Ampliado por:
Reenviable
Incluye:
Marshalable, Threaded::Ciclo de vida
Definido en:
lib/mongoid/association/proxy.rb

Overview

Esta clase es la superclase para todos los objetos proxy de asociación y contiene un comportamiento común para todos ellos.

Subclases conocidas directas

Muchos, Uno

Colapso delresumen constante

KEEPER_METHODS =

métodos específicos para evitar que sean indefinidos

%i[
  enviar
  object_id
  ¿igual?
  respond_to?
  respond_to_missing?
  tocar
  public_send
  extend_proxy
  extender_proxies
].freeze

Resumen de atributos de la instancia colapsar

Resumen del método de clase colapsar

Resumen del método de instancia colapsar

Métodos incluidos de Marshalable

#marshal_dump, #marshal_load

Detalles del constructor

#inicializar(base, target, association) {|_self| ...} ⇒ Proxy

Establece los valores objetivo y las propiedades de metadatos de asociación.

Parámetros:

Rendimientos:

  • (_self)

Parámetros de rendimiento:



60
61
62
63
64
# Archivo 'lib/mongoid/association/proxy.rb', línea 60

def inicializar(base, Objetivo, asociación)
  @_base, @_objetivo, @_association = base, Objetivo, asociación
  rendimiento(sí mismo) si ¿block_given?
  extender_proxies(asociación.Extensión) si asociación.Extensión
end

Detalles de los atributos de instancia

#_asociaciónObjeto

Devuelve el valor del atributo _association.



41
42
43
# Archivo 'lib/mongoid/association/proxy.rb', línea 41

def _association
  @_association
end

#_baseobjeto

Instancia de modelo para la base de la asociación.

Por ejemplo, si una publicación embebe_muchos Comments, _base es una instancia particular del modelo publicación.



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

def _base
  @_base
end

#_targetObjeto

Instancia de modelo para asociaciones uno a uno, o un arreglo de instancias de modelo para asociaciones uno a muchos, para el objetivo de la asociación.

Por ejemplo, si una publicación incorpora muchos comentarios, _target es una matriz de modelos de comentarios incorporados en una publicación en particular.



48
49
50
# Archivo 'lib/mongoid/association/proxy.rb', línea 48

def _objetivo
  @_objetivo
end

Detalles del método de clase

.apply_ordering(criteria, association) ⇒ Criterios

Aplica el orden a los criterios si se definió en la asociación.

Ejemplos:

Aplica la ordenación.

Proxy.apply_ordering(criteria, association)

Parámetros:

Devuelve:



206
207
208
# Archivo 'lib/mongoid/association/proxy.rb', línea 206

def apply_ordering(criterios, asociación)
  asociación.orden ? criterios.ordenar por(asociación.orden) : criterios
end

Detalles del método de instancia

#extend_proxies(*extension) ⇒ objeto

Permitir que la extensión sea un arreglo y ampliar cada módulo



67
68
69
# Archivo 'lib/mongoid/association/proxy.rb', línea 67

def extender_proxies(*Extensión)
  Extensión.nivelar.cada { |ext| extend_proxy(ext) }
end

#klassClass

Obtenga la clase de la asociación o devuelva nulo si no hay ninguna asociación presente.

Ejemplos:

Obten la clase.

proxy.klass

Devuelve:

  • (Clase) -

    La clase de asociación.



77
78
79
# Archivo 'lib/mongoid/association/proxy.rb', línea 77

def klass
  _association&.klass
end

#reset_unloadedObjeto

Restablece los criterios dentro del proxy de asociación. Utilizado por muchos para que muchas asociaciones mantengan el arreglo de ID subyacente sincronizado.

Ejemplos:

Restablecer los criterios de asociación.

person.preferences.reset_relation_criteria


86
87
88
# Archivo 'lib/mongoid/association/proxy.rb', línea 86

def reinicio_descargado
  _objetivo.reinicio_descargado(criterios)
end

#sustituibleObjeto

El objeto sustituible por defecto para un proxy de asociación es el clon del objeto objetivo.

Ejemplos:

Obten el sustitutivo.

proxy.substitutable

Devuelve:

  • (objeto)

    Un clon del objetivo.



97
98
99
# Archivo 'lib/mongoid/association/proxy.rb', línea 97

def sustituible
  _objetivo
end