Módulo: Mongoid::Document::ClassMethods

Definido em:
lib/mongoid/ documento.rb

Visão geral

Métodos de nível de classe para objetos de Documento.

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#_mongoid_clear_types ➤ Objeto

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.

Limpe o cache @_type. Isso geralmente é chamado ao alterar a chave/valor do discriminador em uma classe.

Exemplos:

Obtenha os tipos.

document._mongoid_clear_types


488
489
490
491
# Arquivo 'lib/mongoid/ documento.rb', linha 488

def _mongoid_clear_types
  @_types = nada
  superclasse._mongoid_clear_types se hereditário?
end

#_types ➤ Array<Class>

Retorna todos os tipos para query ao usar esta classe como base.

Exemplos:

Obtenha os tipos.

document._types

Retorna:

  • (Array<Class>)

    Todas as subclasses do documento atual.



477
478
479
# Arquivo 'lib/mongoid/ documento.rb', linha 477

def _types
  @_types ||= (descendants + [ auto ]).uniq.map(&:discriminator_value)
end

#construct_document(attrs = nil, options = {}) ➤ Documento

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.

Observação:

Um bug Ruby 2.x impede que o hash de opções seja argumentos de palavra-chave. Depois de eliminarmos o suporte para Ruby 2.x, podemos reimplementar o hash de opções como argumentos de palavra-chave. Consulte bugs.ruby-lang.org/issues/15753

Aloca e constrói um documento.

Parâmetros:

  • attrs (Hash) (padrão para: nil)

    Os atributos com os quais configurar o documento .

  • opções (Hash) (padrão para: {})

    As opções a serem usadas.

Hash de opções (opções):

  • :execute_callbacks (verdadeiro | falso)

    O sinalizador especifica se as chamadas de resposta devem ser executadas.

Retorna:



466
467
468
469
# Arquivo 'lib/mongoid/ documento.rb', linha 466

def construct_document(attrs = nada, opções = {})
  execute_callbacks = opções.buscar(:execute_callbacks, Threaded.execute_callbacks?)
  with_callbacks(execute_callbacks) { Novo(attrs) }
end

#i18n_scope ➤ Símbolo

Defina o escopo i18n para substituir o ActiveModel.

Retorna:

  • (Símbolo)

    :mongoid



496
497
498
# Arquivo 'lib/mongoid/ documento.rb', linha 496

def i18n_scope
  :mongoid
end

#instanciar(attrs = nil, updated_fields = nil, &block) ➤ Documento

Instancie um novo objeto, somente quando carregado do banco de banco de dados ou quando os atributos já tiverem sido digitados.

Exemplos:

Crie o documento.

Person.instantiate(:title => 'Sir', :age => 30)

Parâmetros:

  • attrs (Hash) (padrão para: nil)

    O hash de atributos com os quais instanciar.

  • campos_selecionados (Inteiro) (padrão para: nil)

    Os campos selecionados a partir dos critérios.

Retorna:



411
412
413
# Arquivo 'lib/mongoid/ documento.rb', linha 411

def instanciar(attrs = nada, campos_selecionados = nada, &noum: bloco ; verb: bloquear)
  snapshot_document(attrs, campos_selecionados, &noum: bloco ; verb: bloquear)
end

#snapshot_document(attrs = nil,selected_fields = nil, opções = {}) {|Mongoid::Document| ... } ➤ Documento

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.

Observação:

Um bug Ruby 2.x impede que o hash de opções seja argumentos de palavra-chave. Depois de eliminarmos o suporte para Ruby 2.x, podemos reimplementar o hash de opções como argumentos de palavra-chave.

Instancie o documento.

Parâmetros:

  • attrs (Hash) (padrão para: nil)

    O hash de atributos com os quais instanciar.

  • campos_selecionados (Inteiro) (padrão para: nil)

    Os campos selecionados a partir dos critérios.

  • opções (Hash) (padrão para: {})

    As opções a serem usadas.

Hash de opções (opções):

  • :execute_callbacks (verdadeiro | falso)

    O sinalizador especifica se as chamadas de resposta devem ser executadas.

Rendimento:

  • (Mongoid::Document)

    Se um bloco for fornecido, produz o documento recém-instanciado para ele.

Retorna:



435
436
437
438
439
440
441
442
443
444
445
446
447
448
# Arquivo 'lib/mongoid/ documento.rb', linha 435

def snapshot_document(attrs = nada, campos_selecionados = nada, opções = {}, &noum: bloco ; verb: bloquear)
  execute_callbacks = opções.buscar(:execute_callbacks, Threaded.execute_callbacks?)
  attributes = attrs&.to_h || {}

  doc = alocar
  doc.__selected_fields = campos_selecionados
  doc.instance_variable_set(:@attributes, attributes)
  doc.instance_variable_set(:@attributes_before_type_cast, attributes.dup)

  doc._handle_callbacks_after_instanciation(execute_callbacks, &noum: bloco ; verb: bloquear)

  doc.lembre-se do armazenamento_opções!
  doc
end

#loggerLogger

Retorna o registrador

Exemplos:

Obtenha o registrador.

Person.logger

Retorna:

  • (Logger) -

    O registrador configurado ou uma instância de registrador padrão.



506
507
508
# Arquivo 'lib/mongoid/ documento.rb', linha 506

def logger
  Mongoid.logger
end

#with_callbacks(execute_callbacks) ➤ Objeto

Indique se os retornos de chamada devem ser invocados por padrão ou não, dentro do bloco. As chamadas de resposta sempre podem ser invocadas explicitamente passando 'execute_callbacks: true' quando disponível.

Parâmetros:

  • execute_callbacks (verdadeiro | falso)

    Se as chamadas de resposta devem ser suprimidas ou não.



392
393
394
395
396
397
398
# Arquivo 'lib/mongoid/ documento.rb', linha 392

def with_callbacks(execute_callbacks)
  salvo, Threaded.execute_callbacks =
    Threaded.execute_callbacks?, execute_callbacks
  rendimento
garantir
  Threaded.execute_callbacks = salvo
end