Clase: Mongoid::Factory::Instantiator Privada
- Hereda:
-
Objeto
- Objeto
- Mongoid::Factory::Instanciador
- Definido en:
- lib/mongoid/factory.rb
Overview
Esta clase forma parte de una API privada. Debe evitar usarla siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.
Una clase auxiliar para crear una instancia de un modelo usando su clase de tipo directamente o a través de una clase de tipo especificada mediante una clave discriminadora.
Colapso delresumen de atributos de instancia
-
#atributos ⇒ Hash | nulo
solo lectura
privada
El hash de atributos a utilizar al crear una instancia del modelo.
-
#criteria ⇒ Mongoid::Criteria | nil
solo lectura
privada
El objeto de criterios que se utilizará como fuente secundaria para los campos seleccionados; también se utiliza al establecer la asociación inversa.
-
#clase ⇒ Mongoid::Documento
solo lectura
privada
La clase de modelo principal a la que se hace referencia.
-
#campos_seleccionados ⇒ Matriz | nulo
solo lectura
privada
La lista de nombres de campos que deben incluirse explícitamente (y exclusivamente) en el nuevo registro.
-
#type ⇒ String | nil
solo lectura
privada
El identificador de la clase que debe cargarse e instanciarse, en el caso de una especificación de clase polimórfica.
Colapso del resumen del método de instancia
-
#inicializar(clase, atributos, criterios, campos_seleccionados) ⇒ Instanciador
constructor
privada
Crea un nuevo Factory::Initiator.
-
#instancia(ejecutar_devoluciones_de_llamadas: Threaded.execute_callbacks?) ⇒ Mongoid::Document
privada
Construye y devuelve una nueva instancia de la clase solicitada.
Detalles del constructor
#inicializar(clase, atributos, criterios, campos_seleccionados) ⇒ 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.[:campos]) @tipo = atributos && atributos[klass.clave discriminadora] 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::Document (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 principal 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.
Devuelve la lista de nombres de campos que deben incluirse explícitamente (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(ejecutar_devoluciones_de_llamadas: Threaded.execute_callbacks?) ⇒ Mongoid::Document
Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.
Construye 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(ejecutar_devoluciones de llamada: Compacto.¿ejecutar_devoluciones de llamada?) Si tipo.blank? instanciar_sin_tipo(ejecutar_devoluciones de llamadas) else instanciar_con_tipo(ejecutar_devoluciones de llamadas) end end |