Módulo: Mongoid::Document::ClassMethods

Definido en:
lib/mongoid/document.rb

Overview

Métodos a nivel de clase para objetos de documento

Resumen del método de instancia colapsar

Detalles del método de instancia

#_mongoid_clear_typesObject

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Limpia la caché @_type. En general, esto se invoca al cambiar la clave/valor del discriminador en una clase.

Ejemplos:

Obtén los tipos.

document._mongoid_clear_types


463
464
465
466
# Archivo 'lib/mongoid/document.rb', línea 463

def _mongoid_clear_types
  @_types = nulo
  superclase._mongoid_clear_types si ¿hereditaria?
end

#_typesArray<Class>

Devuelve todos los tipos a query para cuando se usa esta clase como base.

Ejemplos:

Obtén los tipos.

document._types

Devuelve:

  • (arreglo<Class>)

    Todas las subclases del documento actual.



452
453
454
# Archivo 'lib/mongoid/document.rb', línea 452

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

#construct_document(attrs = nil, options = {}) ⇒ documento

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Nota:

Un error en Ruby 2.x impide que el hash de opciones sea argumentos de palabras clave. Una vez que dejemos de dar soporte a Ruby 2.x, podremos reimplementar el hash de opciones como argumentos clave. Consulta https://bugs.ruby-lang.org/issues/15753

Asigna y construye un documento.

Parámetros:

  • attrs (encriptada) (valor por defecto: nil)

    Los atributos para configurar el documento.

  • opciones (encriptada) (por defecto: {})

    Las opciones para usar.

Opciones Hash (options):

  • :ejecutar_callbacks (true | false)

    El indicador especifica si se deben ejecutar las devoluciones de llamada.

Devuelve:



441
442
443
444
# Archivo 'lib/mongoid/document.rb', línea 441

def construct_document(attrs = nulo, opciones = {})
  execute_callbacks = opciones.obtener(:ejecutar_callbacks, Con hilo.¿ejecutar_callbacks?)
  con_callbacks(execute_callbacks) { Nuevo(attrs) }
end

#i18n_scopeSymbol

Establece el alcance de i18para sobrescribir ActiveModel.

Devuelve:

  • (Símbolo)

    mongoid



471
472
473
# Archivo 'lib/mongoid/document.rb', línea 471

def i18n_scope
  mongoid
end

#instanciar(attrs = nil, selected_fields = nil y &block) ⇒ Documento

Instanciar un nuevo objeto, solo cuando se cargue de la base de datos o cuando los atributos ya hayan sido convertidos.

Ejemplos:

Crea el documento.

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

Parámetros:

  • attrs (encriptada) (valor por defecto: nil)

    El hash de atributos con el que se instanciará.

  • selected_fields (Integer) (valor por defecto: nil)

    Los campos seleccionados de los criterios.

Devuelve:



386
387
388
# Archivo 'lib/mongoid/document.rb', línea 386

def instanciar(attrs = nulo, selected_fields = nulo, &bloque)
  crear_documento(attrs, selected_fields, &bloque)
end

#instanciar_documento(attrs = nil, selected_fields = nil, options = {}) {|Mongoid::Document| ... } ⇒ Documento

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Nota:

Un error en la versión 2.x de Ruby impide que el hash de opciones actúe como argumentos por palabra clave. Una vez que descartemos el soporte para Ruby 2.x, podremos volver a implementar el hash de opciones como argumentos por palabra clave.

Instanciar el documento.

Parámetros:

  • attrs (encriptada) (valor por defecto: nil)

    El hash de atributos con el que se instanciará.

  • selected_fields (Integer) (valor por defecto: nil)

    Los campos seleccionados de los criterios.

  • opciones (encriptada) (por defecto: {})

    Las opciones para usar.

Opciones Hash (options):

  • :ejecutar_callbacks (true | false)

    El indicador especifica si se deben ejecutar las devoluciones de llamada.

Rendimientos:

  • (Mongoid::Document)

    Si se proporciona un bloque, se le cede el documento recién instanciado.

Devuelve:



410
411
412
413
414
415
416
417
418
419
420
421
422
423
# Archivo 'lib/mongoid/document.rb', línea 410

def crear_documento(attrs = nulo, selected_fields = nulo, opciones = {}, &bloque)
  execute_callbacks = opciones.obtener(:ejecutar_callbacks, Con hilo.¿ejecutar_callbacks?)
  atributos = attrs.to_h

  doc = asignar
  doc.__selected_fields = selected_fields
  doc.instance_variable_set(:@attributes, atributos)
  doc.instance_variable_set(:@attributes_before_type_cast, atributos.dup)

  doc.gestionar(execute_callbacks, &bloque)

  doc.remember_storage_options!
  doc
end

#loggerLogger

Devuelve el logger

Ejemplos:

Obtener el registrador.

Person.logger

Devuelve:

  • (Logger)

    El registrador configurado o una instancia de Logger por defecto.



481
482
483
# Archivo 'lib/mongoid/document.rb', línea 481

def logger
  Mongoid.logger
end

#with_callbacks(execute_callbacks) ⇒ objeto

Indique si las devoluciones de llamada se deben invocar por defecto o no, dentro del bloque. Las callbacks pueden invocarse explícitamente en cualquier momento pasando execute_callbacks: true donde esté disponible.

Parámetros:

  • execute_callbacks (true | false)

    Si las devoluciones de llamada deben suprimirse o no.



367
368
369
370
371
372
373
# Archivo 'lib/mongoid/document.rb', línea 367

def con_callbacks(execute_callbacks)
  guardado, Con hilo.execute_callbacks =
    Con hilo.¿ejecutar_callbacks?, execute_callbacks
  rendimiento
asegurar
  Con hilo.execute_callbacks = guardado
end