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 instanciar un model 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 que se utilizarán al instanciar el 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 campo que deben incluirse explícitamente (y de manera exclusiva) 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
-
#initialize(klass, attributes, criteria, selected_fields) ⇒ Instantiator
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 es parte de una API privada. Se debe evitar el uso de este método 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, selected_fields) @klass = klass @atributos = atributos @criteria = criterios @selected_fields = selected_fields || (criterios && criterios.[campo]) @type = atributos && atributos[klass.discriminador_clave] end |
Detalles de atributo de instancias
#atributos ⇒ Hash | nulo (solo lectura)
Este método es parte de una API privada. Se debe evitar el uso de este método 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 | nil (solo lectura)
Este método es parte de una API privada. Se debe evitar el uso de este método 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 es parte de una API privada. Se debe evitar el uso de este método 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 ⇒ Arreglo | nulo (solo lectura)
Este método es parte de una API privada. Se debe evitar el uso de este método 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 selected_fields @selected_fields end |
#type ⇒ String | nil (solo lectura)
Este método es parte de una API privada. Se debe evitar el uso de este método 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 @type end |
Detalles del método de instancia
#instancia(execute_callbacks: Threaded.execute_callbacks?) ⇒ Mongoid::Documento
Este método es parte de una API privada. Se debe evitar el uso de este método 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: Con hilo.¿ejecutar_callbacks?) si tipo.blank? instanciar_sin_tipo(execute_callbacks) else instanciar_con_tipo(execute_callbacks) end end |