Clase: Mongoid::Asociación::Muchos
- Hereda:
-
Apoderado
- Objeto
- Apoderado
- Mongoid::Asociación::Muchos
- Ampliado por:
- Reenviable
- Incluye:
- Enumerable
- Definido en:
- lib/mongoid/asociación/many.rb
Overview
Esta es la superclase para todos los proxies de asociación de muchos a uno y de muchos a muchos.
Subclases conocidas directas
Incrustado::IncrustacionesMuchas::Proxy, Referenciado::TieneMuchos::Proxy
Resumen constante
Constantes heredadas de Proxy
Resumen de atributos de instancia
Atributos heredados de Proxy
#_association, #_base, #_target
Colapso del resumen del método de instancia
-
# ¿enblanco? ⇒ verdadero | falso
¿Está vacía la asociación?
-
#crear(atributos = nil, tipo = nil, &block) ⇒ Documento
Crea un nuevo documento en la asociación de referencias múltiples.
-
#¡crear!(atributos = nulo, tipo = nulo, &bloque) ⇒ Documento
Crea un nuevo documento en la asociación de referencias múltiples.
-
#buscar_o_crear_por(atributos = {}, tipo = nulo, &bloque) ⇒ Documento
Encuentra el primer documento dadas las condiciones, o crea un nuevo documento con las condiciones proporcionadas.
-
#¡buscar_o_crear_por!(atributos = {}, tipo = nulo, &bloque) ⇒ Documento
Encuentra el primer documento dadas las condiciones, o crea un nuevo documento con las condiciones proporcionadas.
-
#buscar_o_inicializar_por(atributos = {}, tipo = nulo, &bloque) ⇒ Documento
Encuentra la primera
Documentdadas las condiciones, o crea un nuevo documento con las condiciones que se proporcionaron. -
#nil? ⇒ false
Este proxy nunca puede ser nulo.
-
#responder_a?(nombre, incluir_privado = falso) ⇒ verdadero | falso
Dado que method_missing se anula, deberíamos anular esto también.
-
#alcance ⇒ Criterios
Este es el acceso público a los criterios de la asociación.
-
#serializable_hash(options = {}) ⇒ Hash
Obtiene el documento como un hash serializable, utilizado por los serializadores JSON y XML de ActiveModel.
-
#sin ámbito ⇒ Criterios
Obtenga un criterio para los documentos incrustados sin el alcance predeterminado aplicado.
Métodos heredados de Proxy
aplicar_ordenamiento, #extender_proxies, #inicializar, #klass, #reiniciar_descargado, #sustituible
Métodos incluidos de Marshalable
Detalles del constructor
Esta clase hereda un constructor de Mongoid::Association::Proxy
Detalles del método de instancia
# ¿enblanco? ⇒ verdadero | falso
¿Está vacía la asociación?
22 23 24 |
# Archivo 'lib/mongoid/association/many.rb', línea 22 def blank? !any? end |
#crear(atributos = nil, tipo = nil, &block) ⇒ Documento
Crea un nuevo documento en la asociación "referencias múltiples". Esto guardará el documento si el documento principal se ha conservado.
36 37 38 39 40 41 42 43 44 |
# Archivo 'lib/mongoid/association/many.rb', línea 36 def Cree(atributos = nulo, tipo = nulo, Ybloque) Si atributos.is_a?(::Arreglo) atributos.map { |attrs| Cree(attrs, tipo, Ybloque) } else doc = construir(atributos, tipo, Ybloque) _base.¿persistió? ? doc.guardar : aumentar_no guardado(doc) doc end end |
#¡crear!(atributos = nulo, tipo = nulo, &bloque) ⇒ Documento
Crea un nuevo documento en la asociación "referencias múltiples". Esto guardará el documento si el padre se ha conservado y generará un error si falla la validación.
59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# Archivo 'lib/mongoid/association/many.rb', línea 59 def ¡crear!(atributos = nulo, tipo = nulo, Ybloque) Si atributos.is_a?(::Arreglo) atributos.map { |attrs| ¡crear!(attrs, tipo, Ybloque) } else doc = construir(atributos, tipo, Ybloque) Arreglo(doc).cada hacer |doc| doc.intentar(:ejecutar devoluciones de llamadas pendientes) end _base.¿persistió? ? doc.save! : aumentar_no guardado(doc) doc end end |
#buscar_o_crear_por(atributos = {}, tipo = nulo, &bloque) ⇒ Documento
Encuentra el primer documento dadas las condiciones, o crea un nuevo documento con las condiciones proporcionadas.
@param [ Hash ] attrs The attributes to search or create with.
@param [ Class ] type The optional type of document to create.
84 85 86 |
# Archivo 'lib/mongoid/association/many.rb', línea 84 def buscar_o_crear_por(attrs = {}, tipo = nulo, Ybloque) encontrar_o(:crear, attrs, tipo, Ybloque) end |
#¡buscar_o_crear_por!(atributos = {}, tipo = nulo, &bloque) ⇒ Documento
Busca el primer documento según las condiciones o crea uno nuevo con las condiciones proporcionadas. Esto generará un error si la validación falla.
100 101 102 |
# Archivo 'lib/mongoid/association/many.rb', línea 100 def ¡Buscar_o_crear_por!(attrs = {}, tipo = nulo, Ybloque) encontrar_o(:¡crear!, attrs, tipo, Ybloque) end |
#buscar_o_inicializar_por(atributos = {}, tipo = nulo, &bloque) ⇒ Documento
Encuentra el primer Document dadas las condiciones, o instancia un nuevo documento con las condiciones proporcionadas.
114 115 116 |
# Archivo 'lib/mongoid/association/many.rb', línea 114 def buscar_o_inicializar_por(attrs = {}, tipo = nulo, Ybloque) encontrar_o(:construir, attrs, tipo, Ybloque) end |
#nil? ⇒ false
Este proxy nunca puede ser nulo.
124 125 126 |
# Archivo 'lib/mongoid/association/many.rb', línea 124 def nil? false end |
#responder_a?(nombre, incluir_privado = falso) ⇒ verdadero | falso
Dado que method_missing se anula, deberíamos anular esto también.
137 138 139 140 |
# Archivo 'lib/mongoid/association/many.rb', línea 137 def respond_to?(Nombre, incluir_privado = false) [].respond_to?(Nombre, incluir_privado) || klass.respond_to?(Nombre, incluir_privado) || Super end |
#alcance ⇒ Criterios
Este es el acceso público a los criterios de la asociación.
148 149 150 |
# Archivo 'lib/mongoid/association/many.rb', línea 148 def con alcance criterios end |
#serializable_hash(options = {}) ⇒ Hash
Obtiene el documento como un hash serializable, utilizado por los serializadores JSON y XML de ActiveModel. Esta sobrescritura es solo para poder pasar las opciones :include y :except para obtener asociaciones en el hash.
166 167 168 |
# Archivo 'lib/mongoid/association/many.rb', línea 166 def serializable_hash( = {}) _objetivo.map { |Documento| Documento.serializable_hash() } end |
#sin ámbito ⇒ Criterios
Obtenga un criterio para los documentos incrustados sin el alcance predeterminado aplicado.
177 178 179 |
# Archivo 'lib/mongoid/association/many.rb', línea 177 def sin alcance criterios.sin alcance end |