Módulo: Mongoid::Document::ClassMethods

Definido em:
build/mongoid-8.1/lib/mongoid/ documento.rb

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


408
409
410
411
# File 'build/mongoid-8.1/lib/mongoid/ documento.rb', linha 408

def _mongoid_clear_types
  @_type = 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.



397
398
399
# File 'build/mongoid-8.1/lib/mongoid/ documento.rb', linha 397

def _types
  @_type ||= (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:



386
387
388
389
# File 'build/mongoid-8.1/lib/mongoid/ documento.rb', linha 386

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



416
417
418
# File 'build/mongoid-8.1/lib/mongoid/ documento.rb', linha 416

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.

  • execute_callbacks (verdadeiro | falso)

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

Retorna:



320
321
322
# File 'build/mongoid-8.1/lib/mongoid/ documento.rb', linha 320

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 = {}) ➤ 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.

Retorna:



341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
# File 'build/mongoid-8.1/lib/mongoid/ documento.rb', linha 341

def snapshot_document(attrs = nada, campos_selecionados = nada, opções = {})
  execute_callbacks = opções.buscar(:execute_callbacks, Threaded.execute_callbacks?)
  attributes = se Mongoid.legacy_attributes
    attrs
  mais
    attrs&.to_h
  end || {}

  doc = alocar
  doc.__selected_fields = campos_selecionados
  doc.instance_variable_set(:@attributes, attributes)
  # TODO: remova o to_h quando a bandeira legacy_attributes for removida.
  # O to_h garante que não façamos atributos_before_type_cast acidentalmente
  # um BSON::Document.
  doc.instance_variable_set(:@attributes_before_type_cast, attributes&.to_h.dup)

  se execute_callbacks
    doc.apply_defaults
    rendimento(doc) se block_given?
    doc.run_callbacks(:find) a menos que doc._find_callbacks.vazio?
    doc.run_callbacks(:initialize) a menos que doc._initialize_callbacks.vazio?
  mais
    rendimento(doc) se block_given?
    doc.pending_callbacks += [:apply_defaults, :find, :initialize]
  end

  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.



426
427
428
# File 'build/mongoid-8.1/lib/mongoid/ documento.rb', linha 426

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.



299
300
301
302
303
304
305
# File 'build/mongoid-8.1/lib/mongoid/ documento.rb', linha 299

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