Classe: Mongoid::Factory::Instanciador Privado
- Herda:
-
Objeto
- Objeto
- Mongoid::Factory::Instanciator
- Definido em:
- lib/mongoid/factory.rb
Visão geral
Esta classe faz parte de uma API privada. Evite usar essa classe, se possível, pois ela pode ser removida ou alterada no futuro.
Uma classe assistente para instanciar um modelo usando diretamente sua classe de tipo ou por meio de uma classe de tipo especificada por meio de uma chave discriminadora.
Recolhimento do Resumo do atributo de instância
-
#atributos ➤ Hash | nada
Somente leitura
privado
O Hash de atributos a ser usado ao instanciar o modelo.
-
#criteria ⇒ Mongoid::Criteria | nil
Somente leitura
privado
O objeto de critérios a ser usado como fonte secundária para os campos selecionados; também usado ao definir a associação inversa.
-
#klass ➤ Mongoid::Document
Somente leitura
privado
A principal classe de modelo que está sendo referenciada.
-
#selected_fields ➤ Array | nada
Somente leitura
privado
A lista de nomes de campo que devem ser explicitamente (e exclusivamente) incluídos no novo registro.
-
#type ⇒ String | nil
Somente leitura
privado
O identificador da classe que deve ser carregado e instanciado, no caso de uma especificação de classe polimórfica.
Recolhimento do Resumo do método de instância
-
#inicializar(klass, atributos, critérios, campos selecionados) ➤ Instanciador
construtor
privado
Cria um novo Factory::Initiator.
-
#instance(execute_callbacks: Threaded.execute_callbacks): ➤ Mongoid::Document
privado
Constrói e retorna uma nova instância da classe solicitada .
Detalhes do construtor
#inicializar(klass, atributos, critérios, campos selecionados) ➤ Instanciador
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Cria um novo Factory::Initiator.
46 47 48 49 50 51 52 53 |
# Arquivo 'lib/mongoid/factory.rb', linha 46 def inicializar(classe, attributes, critério, campos_selecionados) @klass = classe @attributes = attributes @criteria = critério @selected_fields = campos_selecionados || (critério && critério.[:fields]) @type = attributes && attributes[classe.discriminator_key] end |
Detalhes do atributo da instância
#atributos ➤ Hash | nil (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna o hash dos atributos a serem usados ao instanciar o modelo.
19 20 21 |
# Arquivo 'lib/mongoid/factory.rb', linha 19 def attributes @attributes end |
#criteria ➤ Mongoid::Criteria | nil (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna O objeto de critérios a ser usado como fonte secundária para os campos selecionados; também usado ao definir a associação inversa.
24 25 26 |
# Arquivo 'lib/mongoid/factory.rb', linha 24 def critério @criteria end |
#klass ➤ Mongoid::Document (readonly)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna A principal classe de modelo que está sendo referenciada.
15 16 17 |
# Arquivo 'lib/mongoid/factory.rb', linha 15 def classe @klass end |
#selected_fields ➤ Array | nil (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna a lista de nomes de campo que devem ser explicitamente (e exclusivamente) incluídos no novo registro.
28 29 30 |
# Arquivo 'lib/mongoid/factory.rb', linha 28 def campos_selecionados @selected_fields end |
#tipo ➤ string | nil (somente leitura)
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Retorna O identificador da classe que deve ser carregado e instanciado, no caso de uma especificação de classe polimórfica.
33 34 35 |
# Arquivo 'lib/mongoid/factory.rb', linha 33 def type @type end |
Detalhes do método de instância
#instance(execute_callbacks: Threaded.execute_callbacks) : ➤ Mongoid::Document
Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.
Constrói e retorna uma nova instância da classe solicitada .
64 65 66 67 68 69 70 |
# Arquivo 'lib/mongoid/factory.rb', linha 64 def instância(execute_callbacks: Threaded.execute_callbacks?) se type.em branco? snapshot_without_type(execute_callbacks) mais snapshotte_with_type(execute_callbacks) end end |