Módulo: Mongoid::Config
- Ampliado por:
- Transferible, Configuración, Valores predeterminados, Cifrado, Opciones
- Incluye:
- DeprecatedOptions
- Incluido en:
- Config
- Definido en:
- lib/mongoid/config.rb,
lib/mongoid/config/options.rb,
lib/mongoid/config/por defecto.rb,
lib/mongoid/config/cifrado.rb,
lib/mongoid/config/environment.rb,
lib/mongoid/config/validators/cliente.rb,
lib/mongoid/config/validators/option.rb,
lib/mongoid/config/validators/async_query_executor.rb
Overview
Este módulo define todas las opciones de configuración para Mongoid, incluidas las conexiones a la base de datos.
Definido bajo Namespace
Modules: Predeterminados, Opciones obsoletas, cifrado, Entorno, Opciones, Validadores
Resumen de constantes colapsar
- bloqueo =
Mutex (exclusión mutua).Nuevo
- VALID_ISOLATION_LEVELS =
%i[ rails hilo fibra ].freeze
Constantes incluidas de Opciones Obsoletas
Resumen del método de instancia colapsar
-
#clientes ⇒ Hash
Obtén la configuración del cliente o un objeto vacío.
-
#config ⇒ self
Retorna el Config singleton, para su uso en el DSL de configuración.
-
#¿configurado? ⇒ verdadero | falso
¿Ha sido configurado Mongoid? Esto verifica que exista al menos una configuración de cliente válida.
-
#connect_to(nombre, opciones = { read: { mode: :primary } }) ⇒ Object
Conéctese al nombre de base de datos proporcionado en el cliente por defecto.
-
#deregister_model(klass) ⇒ Object
privado
Anular el registro de un modelo en la aplicación con Mongoid.
-
#destructive_fields ⇒ Array<String>
Devuelve los nombres de campos que podrían causar cosas destructivas si se definen en un Mongoid::Document.
-
#load!(ruta, entorno = nil) ⇒ Objeto
Carga los ajustes desde un archivo mongoid.yml compatible.
-
#load_configuration(configuración) ⇒ Objeto
Desde un hash de configuraciones, cargar toda la configuración.
-
#models ⇒ Array<Class>
Obtener todos los modelos en la aplicación. Esto incluye todo lo que implique Mongoid::Document.
-
#options=(objeto) ⇒ Object
Configure las opciones de configuración.
-
#override_client(nombre) ⇒ string | Símbolo
Anular el cliente para usar globalmente.
-
#override_database(nombre) ⇒ String | Símbolo
Anular la base de datos para usarla globalmente.
-
#¡purgar! ⇒ true
Vaciar todos los datos en todas las colecciones, incluidos los índices.
-
#real_isolation_level ⇒ Object
privado
Devuelve el nivel de aislamiento (potencialmente desreferenciado) que Mongoid utilizará para almacenar su estado interno.
-
#register_model(klass) ⇒ Object
Registrar un modelo en la aplicación con Mongoid.
- #running_with_passenger? ⇒ true | false Obsoleto Obsoleto.
-
#time_zone ⇒ String
Obtén la zona horaria a utilizar.
-
#truncate! ⇒ true
Trunca todos los datos en todas las colecciones, pero no los índices.
-
#validate_isolation_level!(nivel) ⇒ Objeto
privado
Verifica si el nivel de aislamiento proporcionado es compatible con Mongoid.
Métodos incluidos de Opciones
por defecto, log_level, opción, restablecer, configuración
Métodos incluidos desde por defecto
Métodos incluidos en Cifrado
Métodos incluidos de Opciones obsoletas
Detalles del método de instancia
#clientes ⇒ Hash
Obtén la configuración del cliente o un objeto vacío.
482 483 484 |
# Archivo 'lib/mongoid/config.rb', línea 482 def cliente @clients ||= {} end |
#config ⇒ self
Retorna el Config singleton, para su uso en el DSL de configuración.
300 301 302 |
# Archivo 'lib/mongoid/config.rb', línea 300 def config sí mismo end |
#¿configurado? ⇒ verdadero | falso
¿Ha sido configurado Mongoid? Esto verifica que exista al menos una configuración de cliente válida.
311 312 313 |
# Archivo 'lib/mongoid/config.rb', línea 311 def ¿configurado? cliente.key?(por defecto) end |
#connect_to(name, options = { read: { moda: :primario } }) ⇒ Objeto
Utiliza sólo en entornos de desarrollo o prueba para mayor comodidad.
Conéctese al nombre de base de datos proporcionado en el cliente por defecto.
323 324 325 326 327 328 329 330 331 |
# Archivo 'lib/mongoid/config.rb', línea 323 def connect_to(Nombre, = { leer: { moda: primario/a } }) sí mismo.cliente = { Por defecto: { database: Nombre, host: [ 'localhost:27017' ], opciones: } } end |
#deregister_model(klass) ⇒ 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.
Anular el registro de un modelo en la aplicación con Mongoid.
390 391 392 393 394 |
# Archivo 'lib/mongoid/config.rb', línea 390 def deregister_model(klass) Bloqueo.sincronizar hacer modelos.borrar(klass) end end |
#destructive_fields ⇒ arreglo<String>
Devuelve los nombres de campos que podrían causar cosas destructivas si se definen en un Mongoid::Document.
340 341 342 |
# Archivo 'lib/mongoid/config.rb', línea 340 def campos_destructivos Compuesto.prohibited_methods end |
#load!(path, environment = nil) ⇒ objeto
Carga la configuración desde un archivo mongoid.yml compatible. Esto se puede usar para una configuración sencilla con frameworks distintos a Rails.
352 353 354 355 356 357 358 359 360 |
# Archivo 'lib/mongoid/config.rb', línea 352 def ¡cargar!(ruta, entorno = nulo) ajustes = Entorno.load_yaml(ruta, entorno) si ajustes.¿presente? Clientes.Desconectar Clientes.borrar load_configuration(ajustes) end ajustes end |
#load_configuration(settings) ⇒ Object
Desde un hash de configuraciones, cargar toda la configuración.
402 403 404 405 406 407 408 |
# Archivo 'lib/mongoid/config.rb', línea 402 def load_configuration(ajustes) Configuración = ajustes.con_acceso_indiferente sí mismo. = Configuración[:options] sí mismo.cliente = Configuración[cliente] mongo. = Configuración[Opciones del conductor] || {} set_log_levels end |
#models ⇒ Array<Class>
Obtener todos los modelos en la aplicación. Esto incluye todo lo que implique Mongoid::Document.
369 370 371 |
# Archivo 'lib/mongoid/config.rb', línea 369 def modelos @models ||= [] end |
#options=(options) ⇒ Object
Configura las opciones de configuración. Validará a cada una individualmente.
466 467 468 469 470 471 472 473 474 |
# Archivo 'lib/mongoid/config.rb', línea 466 def () return a menos que Validadores::AsyncQueryExecutor.validar() .each_pair hacer |Opción, Valor| Validadores::Opción.validar(Opción) enviar("#{opción}=", Valor) end end |
#override_client(nombre) ⇒ String | Symbol
Anular el cliente para usar globalmente.
430 431 432 |
# Archivo 'lib/mongoid/config.rb', línea 430 def override_client(Nombre) Con hilo.client_override = Nombre ? Nombre.to_s : nulo end |
#override_database(name) ⇒ String | Symbol
Anular la base de datos para usarla globalmente.
418 419 420 |
# Archivo 'lib/mongoid/config.rb', línea 418 def override_database(Nombre) Con hilo.database_override = Nombre end |
#purge! ⇒ true
Esta es la manera más rápida de descartar todos los datos.
Vaciar todos los datos en todas las colecciones, incluidos los índices.
442 443 444 |
# Archivo 'lib/mongoid/config.rb', línea 442 def ¡Purge! global_client.database.collections.cada(&descartar) y true end |
#real_isolation_level ⇒ 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.
Devuelve el nivel de aislamiento (potencialmente desreferenciado) que Mongoid usará para almacenar su estado interno. Si isolation_level está configurado en :rails, esto devolverá el nivel de aislamiento que Rails está configurado actualmente para usar (ActiveSupport::IsolatedExecutionState.isolation_level).
Si utilizas una versión anterior de Rails que no puede usar ActiveSupport::IsolatedExecutionState, esto devolverá :thread en su lugar.
172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 |
# Archivo 'lib/mongoid/config.rb', línea 172 def real_isolation_level return isolation_level a menos que isolation_level == :rails si ¿definido?(ActiveSupport::IsolatedExecutionState) ActiveSupport::IsolatedExecutionState.isolation_level.tocar hacer |Nivel| # No podemos garantizar que Rails siempre admitirá lo mismo # niveles de aislamiento como Mongoid, así que comprobamos aquí para asegurarnos # es algo con lo que podemos trabajar. validate_isolation_level!(Nivel) end else # El valor por defecto, si Rails no admite IsolatedExecutionState, hilo: end end |
#register_model(klass) ⇒ Object
Registrar un modelo en la aplicación con Mongoid.
379 380 381 382 383 |
# Archivo 'lib/mongoid/config.rb', línea 379 def register_model(klass) Bloqueo.sincronizar hacer modelos.push(klass) a menos que modelos.incluir?(klass) end end |
#running_with_passenger? ⇒ true | false
¿Se está ejecutando la aplicación bajo passenger?
504 505 506 |
# Archivo 'lib/mongoid/config.rb', línea 504 def ¿corriendo_con_pasajero? @running_with_passenger ||= ¿definido?(PhusionPassenger) end |
#time_zone ⇒ String
Obtén la zona horaria a utilizar.
492 493 494 |
# Archivo 'lib/mongoid/config.rb', línea 492 def time_zone usar_utc? ? 'UTC' : ::Tiempo.zona end |
#truncate! ⇒ true
¡Esto será más lento que limpiar!
Trunca todos los datos en todas las colecciones, pero no los índices.
454 455 456 457 458 |
# Archivo 'lib/mongoid/config.rb', línea 454 def ¡truncar! global_client.database.collections.cada hacer |Colección| Colección.buscar.borrar_varios end y true end |
#validate_isolation_level!(level) ⇒ 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.
Comprueba si el nivel de aislamiento proporcionado es algo que Mongoid admite. Lanza Errors::UnsupportedIsolationLevel si no lo es.
Esto también elevará un error si el nivel de aislamiento está configurado en :fiber y la versión de Ruby es inferior a 3.2, ya que el almacenamiento local para fibras no está soportado en versiones anteriores de Ruby.
196 197 198 199 200 201 202 |
# Archivo 'lib/mongoid/config.rb', línea 196 def validate_isolation_level!(Nivel) propagar Errors::Nivel aislamiento no soportado.Nuevo(Nivel) a menos que NIVELES_DE_AISLAMIENTO_VÁLIDOS.incluir?(Nivel) return a menos que Nivel == fibra && RUBY_VERSION < '3.2' propagar Errors::Nivel aislamiento no soportado.Nuevo(Nivel) end |