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
-
#_mongoid_clear_types ⇒ Objeto
privado
Limpia la caché de @_type.
-
#_types ⇒ arreglo<Class>
Devuelve todos los tipos a query para cuando se usa esta clase como base.
-
#construct_document(attrs = nil, options = {}) ⇒ Documento
privado
Asigna y construye un documento.
-
#i18n_scope ⇒ Symbol
Establece el alcance de i18para sobrescribir ActiveModel.
-
#instanciar(attrs = nil, selected_fields = nil, &block) ⇒ Document
Instanciar un nuevo objeto, solo cuando se cargue de la base de datos o cuando los atributos ya hayan sido convertidos.
-
#instanciar_documento(attrs = nil, campos_seleccionados = nil, opciones = {}) {|Mongoid::Documento| ... } ⇒ Documento
privado
Instanciar el documento.
-
#logger ⇒ Logger
Devuelve el registrador.
-
#with_callbacks(execute_callbacks) ⇒ objeto
Indique si las devoluciones de llamada deben invocarse por defecto o no, dentro del bloque.
Detalles del método de instancia
#_mongoid_clear_types ⇒ Object
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.
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 |
#_types ⇒ Array<Class>
Devuelve todos los tipos a query para cuando se usa esta clase como base.
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.
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.
441 442 443 444 |
# Archivo 'lib/mongoid/document.rb', línea 441 def construct_document(attrs = nulo, = {}) execute_callbacks = .obtener(:ejecutar_callbacks, Con hilo.¿ejecutar_callbacks?) con_callbacks(execute_callbacks) { Nuevo(attrs) } end |
#i18n_scope ⇒ Symbol
Establece el alcance de i18para sobrescribir ActiveModel.
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.
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.
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.
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, = {}, &bloque) execute_callbacks = .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. doc end |
#logger ⇒ Logger
Devuelve el logger
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.
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 |