Classe: Mongoid::Factory::Instanciador Privado

Herda:
Objeto
  • Objeto
mostrar tudo
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

Recolhimento do Resumo do método de instância

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.

Parâmetros:

  • classe (Mongoid::Document)

    A classe primária a ser referenciada ao instanciar o modelo.

  • attributes (Hash | nulo)

    (Opcional) O hash de atributos a ser usado ao instanciar o modelo.

  • critério (Mongoid::Criteria | nil)

    (Opcional) 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.

  • campos_selecionados (Array | nil)

    A lista de nomes de campo que devem ser explicitamente (e exclusivamente) incluídos no novo registro.



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.opções[:fields])
  @type = attributes && attributes[classe.discriminator_key]
end

Detalhes do atributo da instância

#atributosHash | 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.

Retorna:

  • (Hash | nulo)

    O Hash de atributos a ser usado 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.

Retorna:

  • (Mongoid::Criteria | nil)

    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.

Retorna:



15
16
17
# Arquivo 'lib/mongoid/factory.rb', linha 15

def classe
  @klass
end

#selected_fieldsArray | 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.

Retorna:

  • (Array | nil)

    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

#tipostring | 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.

Retorna:

  • (string | nil)

    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 .

Parâmetros:

  • execute_callbacks (verdadeiro | falso) (padrão para: Threaded.execute_callbacks?)

    Se as chamadas de resposta do documento devem ou não ser invocadas com a nova instância.

Retorna:

Aumenta:

  • (Erros::UnknownModel)

    quando o tipo solicitado não existir ou se não responder ao método 'instanciar'.



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