Clase: Mongoid::Association::Proxy

Hereda:
Objeto
  • Objeto
Mostrar todo
Ampliado por:
Reenviable
Incluye:
Marshalable, Threaded::Ciclo de vida
Definido en:
lib/mongoid/asociación/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

MÉTODOS DEL GUARDIÁN =

métodos específicos para evitar que quede indefinido

%i[
  Enviar
  id_del_objeto
  ¿igual?
  respond_to?
  ¿responder_a_los_faltantes?
  grifo
  public_send
  extender_proxy
  extender_proxies
].freeze

Colapso delresumen de atributos de instancia

Colapso delresumen del método de clase

Colapso del resumen del método de instancia

Métodos incluidos de Marshalable

#marshal_dump, #marshal_load

Detalles del constructor

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

Establece las propiedades de metadatos de destino y asociación.

Parámetros:

Rendimientos:

  • (_ser)

Parámetros de rendimiento:



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

def inicializar(base, destino, asociación)
  @_base, @_objetivo, @_asociación = base, destino, asociación
  rendimiento(yo) Si ¿bloque_dado?
  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 _asociación
  @_asociación
end

#_baseobjeto

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

Por ejemplo, si una publicación incorpora muchos comentarios, _base es una instancia particular del modelo de 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 matriz 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(criterios, asociación) ⇒ Criterios

Aplicar ordenamiento a los criterios si fue definido en la asociación.

Ejemplos:

Aplicar el ordenamiento.

Proxy.apply_ordering(criteria, association)

Parámetros:

Devuelve:



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

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

Detalles del método de instancia

#extend_proxies(*extensión) ⇒ Objeto

Permitir que la extensión sea una matriz y extender cada módulo



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

def extender_proxies(*extensión)
  extensión.aplanar.cada { |ext| extender_proxy(ext) }
end

#klassClass

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

Ejemplos:

Obtenga 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
  _asociación&.klass
end

#reset_unloadedObjeto

Restablece los criterios dentro del proxy de asociación. Lo utilizan las asociaciones de muchos a muchos para mantener sincronizada la matriz de identificadores subyacente.

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:

Obtenga el sustituible.

proxy.substitutable

Devuelve:

  • (Objeto) -

    Un clon del objetivo.



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

def sustituible
  _objetivo
end