Módulo: Mongoid::Documento::Métodos de clase

Definido en:
lib/mongoid/documento.rb

Overview

Métodos a nivel de clase para objetos de documento.

Colapso del resumen del método de instancia

Detalles del método de instancia

#_mongoid_clear_typesObjeto

Este método forma parte de una API privada. Debe evitarlo 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 _tipos claros de mongoid
  @_tipos = nulo
  superclase._tipos claros de mongoid Si ¿hereditario?
end

#_typesMatriz<Class>

Devuelve todos los tipos para consultar cuando se utiliza esta clase como base.

Ejemplos:

Obtén los tipos.

document._types

Devuelve:

  • (Matriz<Class>)

    Todas las subclases del documento actual.



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

def _types
  @_tipos ||= (descendants + [ yo ]).único.map(Y:valor_discriminador)
end

#construct_document(attrs = nil, opciones = {}) ⇒ Documento

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Nota:

Un 2 error de Ruby.x impide que los hash de opciones se utilicen como argumentos de palabras clave. Una vez que se elimine el soporte para Ruby.x,2 podremos reimplementar los hash de opciones como argumentos de palabras clave. Consulte bugs.ruby-lang.org/issues/15753

Asigna y construye un documento.

Parámetros:

  • attrs (Hash) (predeterminado: nulo)

    Los atributos con los que configurar el documento.

  • opciones (Hash) (predeterminado: {})

    Las opciones a utilizar.

Opciones Hash(opciones):

  • :ejecutar_devoluciones de llamada (true | false)

    La bandera especifica si se deben ejecutar las devoluciones de llamadas.

Devuelve:



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

def documento_de_construcción(attrs = nulo, opciones = {})
  ejecutar_devoluciones de llamadas = opciones.Fetch(:ejecutar_devoluciones de llamada, Compacto.¿ejecutar_devoluciones de llamada?)
  con_devoluciones_de_llamadas(ejecutar_devoluciones de llamadas) { Nuevo(attrs) }
end

#i18n_scopeSymbol

Establezca el ámbito i18n para sobrescribir ActiveModel.

Devuelve:

  • ( Símbolo) -

    :mongoide



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

def 18dentro del ámbito
  :mongoide
end

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

Instanciar un nuevo objeto, sólo cuando se carga desde la base de datos o cuando los atributos ya han sido convertidos.

Ejemplos:

Crear el documento.

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

Parámetros:

  • attrs (Hash) (predeterminado: nulo)

    El hash de atributos a instanciar.

  • campos seleccionados (Entero) (predeterminado: nulo)

    Los campos seleccionados según los criterios.

Devuelve:



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

def instanciar(attrs = nulo, campos seleccionados = nulo, Ybloque)
  instanciar_documento(attrs, campos seleccionados, Ybloque)
end

#instanciar_documento(atributos = nulo, campos_seleccionados = nulo, opciones = {}) {|Mongoid::Documento|... } ⇒ Documento

Este método forma parte de una API privada. Debe evitarlo 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 (Hash) (predeterminado: nulo)

    El hash de atributos a instanciar.

  • campos seleccionados (Entero) (predeterminado: nulo)

    Los campos seleccionados según los criterios.

  • opciones (Hash) (predeterminado: {})

    Las opciones a utilizar.

Opciones Hash(opciones):

  • :ejecutar_devoluciones de llamada (true | false)

    La bandera especifica si se deben ejecutar las devoluciones de llamadas.

Rendimientos:

  • (Mongoid::Documento)

    Si se proporciona un bloque, le entrega 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 instanciar_documento(attrs = nulo, campos seleccionados = nulo, opciones = {}, Ybloque)
  ejecutar_devoluciones de llamadas = opciones.Fetch(:ejecutar_devoluciones de llamada, Compacto.¿ejecutar_devoluciones de llamada?)
  atributos = attrs&.a_h || {}

  doc = asignar
  doc.__selected_fields = campos seleccionados
  doc.conjunto_de_variables_de_instancia(:@atributos, atributos)
  doc.conjunto_de_variables_de_instancia(:@atributos_antes_de_la_conversión_de_tipo, atributos.dup)

  doc._manejar_devoluciones_de_llamadas_después_de_la_instanciación(ejecutar_devoluciones de llamadas, Ybloque)

  doc.¡Recuerde las opciones de almacenamiento!
  doc
end

#loggerLogger

Devuelve el registrador

Ejemplos:

Obtener el registrador.

Person.logger

Devuelve:

  • (Registrador)

    El registrador configurado o una instancia de registrador predeterminada.



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

def logger
  Mongoid.logger
end

#with_callbacks(execute_callbacks) ⇒ objeto

Indica si las devoluciones de llamada deben invocarse por defecto dentro del bloque. Las devoluciones de llamada siempre pueden invocarse explícitamente pasando 'execute_callbacks: true' si está disponible.

Parámetros:

  • ejecutar_devoluciones de llamadas (verdadero | falso)

    Si las devoluciones de llamadas deben suprimirse o no.



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

def con_devoluciones_de_llamadas(ejecutar_devoluciones de llamadas)
  salvado, Compacto.ejecutar_devoluciones de llamadas =
    Compacto.¿ejecutar_devoluciones de llamada?, ejecutar_devoluciones de llamadas
  rendimiento
asegurar
  Compacto.ejecutar_devoluciones de llamadas = salvado
end