Clase: Mongoid::Factory::Instantiator Privado
- Hereda:
-
Objeto
- Objeto
- Mongoid::Factory::Instantiator
- Definido en:
- lib/mongoid/factory.rb
Overview
Esta clase forma parte de una API privada. Evita usar esta clase si es posible, ya que puede ser eliminada o modificada en el futuro.
Una clase asistente para crear una instancia de un modelo utilizando directamente su clase de tipo o mediante una clase de tipo especificada a través de una clave discriminadora.
Resumen de atributos de la instancia colapsar
-
#attributes ⇒ Hash | nil (#attributes ⇒ Hash | nil)
Solo lectura
privado
El hash de atributos a utilizar al crear una instancia del modelo.
-
#criteria ⇒ Mongoid::Criteria | nil
Solo lectura
privado
El objeto de criterios que se utilizará como fuente secundaria para los campos seleccionados; también se utiliza al configurar la asociación inversa.
-
#klass ⇒ Mongoid::documento
Solo lectura
privado
La clase de modelo primaria que se hace referencia.
-
#selected_fields ⇒ Arreglo | nil (sin valor)
Solo lectura
privado
La lista de nombres de campos que deben incluirse explícitamente (y exclusivamente) en el nuevo registro.
-
#type ⇒ String | nil
Solo lectura
privado
El identificador de la clase que debe cargarse e instanciarse, en caso de una especificación de clase polimórfica.
Resumen del método de instancia colapsar
-
#inicializar(clase, atributos, criterios, campos_seleccionados) ⇒ Instanciador
constructor
privado
Crea un nuevo Factory::Initiator.
-
#instancia(execute_callbacks: Threaded.execute_callbacks?) ⇒ Mongoid::Document
privado
Crea y devuelve una nueva instancia de la clase solicitada.
Detalles del constructor
#inicializar(klass, attributes, criteria, selected_fields) ⇒ Instanciador
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea un nuevo Factory::Initiator.
46 47 48 49 50 51 52 53 |
# Archivo 'lib/mongoid/factory.rb', línea 46 def inicializar(klass, atributos, criterios, campos seleccionados) @klass = klass @atributos = atributos @criteria = criterios @selected_fields = campos seleccionados || (criterios && criterios.[campo]) @tipo = atributos && atributos[klass.discriminador_clave] end |
Detalles de los atributos de instancia
#atributos ⇒ Hash | nulo (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve: el hash de los atributos a utilizar al instanciar el modelo.
19 20 21 |
# Archivo 'lib/mongoid/factory.rb', línea 19 def atributos @atributos end |
# criterios ⇒ Mongoid::Criteria| nulo (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve El objeto de criterios que se utilizará como fuente secundaria para los campos seleccionados; también se utiliza al establecer la asociación inversa.
24 25 26 |
# Archivo 'lib/mongoid/factory.rb', línea 24 def criterios @criteria end |
#klass ⇒ Mongoid::documento (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve la clase de modelo primaria a la que se hace referencia.
15 16 17 |
# Archivo 'lib/mongoid/factory.rb', línea 15 def klass @klass end |
#selected_fields ⇒ Matriz | nil (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Retorna La lista de nombres de campo que se deben incluir explícita (y exclusivamente) en el nuevo registro.
28 29 30 |
# Archivo 'lib/mongoid/factory.rb', línea 28 def campos seleccionados @selected_fields end |
#tipo ⇒ Cadena | nulo (solo lectura)
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Devuelve el identificador de la clase que debe cargarse e instanciarse, en el caso de una especificación de clase polimórfica.
33 34 35 |
# Archivo 'lib/mongoid/factory.rb', línea 33 def tipo @tipo end |
Detalles del método de instancia
#instancia(execute_callbacks: Threaded.execute_callbacks?) ⇒ Mongoid::Documento
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Crea y devuelve una nueva instancia de la clase solicitada.
64 65 66 67 68 69 70 |
# Archivo 'lib/mongoid/factory.rb', línea 64 def instancia(execute_callbacks: Compacto.¿ejecutar_callbacks?) si tipo.blank? instanciar_sin_tipo(execute_callbacks) else instanciar_con_tipo(execute_callbacks) end end |