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
-
#_mongoid_clear_types ➤ Objeto
privado
Limpe o cache @_type.
-
#_types ➤ Array<Class>
Retorna todos os tipos para query ao usar esta classe como base.
-
#construct_document(attrs = nil, options = {}) ➤ Documento
privado
Aloca e constrói um documento.
-
#i18n_scope ➤ Símbolo
Defina o escopo i18n para substituir o ActiveModel.
-
#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.
-
#snapshot_document(attrs = nil,selected_fields = nil, opções = {}) {|Mongoid::Document| ... } ➤ Documento
privado
Instancie o documento.
-
#logger ➤ Logger
Retorna o registrador.
-
#with_callbacks(execute_callbacks) ➤ Objeto
Indique se os retornos de chamada devem ser invocados por padrão ou não, dentro do bloco.
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.
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.
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.
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.
466 467 468 469 |
# Arquivo 'lib/mongoid/ documento.rb', linha 466 def construct_document(attrs = nada, = {}) execute_callbacks = .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.
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.
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.
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.
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, = {}, &noum: bloco ; verb: bloquear) execute_callbacks = .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. doc end |
#logger ➤ Logger
Retorna o registrador
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.
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 |