Módulo: Mongoid::Document::ClassMethods
- Definido em:
- build/mongoid-8.1/lib/mongoid/ documento.rb
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 = {}) ➤ 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.
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.
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.
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.
386 387 388 389 |
# File 'build/mongoid-8.1/lib/mongoid/ documento.rb', linha 386 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.
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.
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.
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.
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, = {}) execute_callbacks = .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 |
#logger ➤ Logger
Retorna o registrador
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 |