Módulo: Mongoid::Config::Environment

Ampliado por:
Entorno
Incluido en:
Entorno
Definido en:
lib/mongoid/config/environment.rb

Overview

Encapsula la lógica para obtener información del entorno.

Resumen del método de instancia colapsar

Detalles del método de instancia

#env_nameString

Obtenga el nombre del entorno en el que está ejecutando Mongoid.

Utiliza las fuentes siguientes en orden:

  • Si se define ::Rails, Rails.env.
  • Si se define ::Sinatra, Sinatra::Base.environment.
  • RACK_ENV
  • +MONGOID_ENV*

Ejemplos:

Obtén el nombre del entorno.

Environment.env_name

Devuelve:

  • (string)

    El nombre del entorno actual.

Aumenta:

  • (Errores::NoEntorno)

    Si no se puede determinar el nombre del entorno porque no se ha configurado ninguna de las fuentes.



25
26
27
28
29
30
# Archivo 'lib/mongoid/config/environment.rb', línea 25

def env_name
  return ::Tirantes.env si ¿definido?(::Tirantes)
  return ::Sinatra::Base.entorno.to_s si ¿definido?(::Sinatra)

  ENV['RACK_ENV'] || ENV['MONGOID_ENV'] or propagar Errors::NoEnvironment
end

#load_yaml(path, environment = nil) ⇒ Hash

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.

Carga el yaml desde la ruta proporcionada y devuelve la configuración para el entorno especificado, o para el entorno actual de Mongoid.

Ejemplos:

Cargar el yaml.

Environment.load_yaml("/work/mongoid.yml")

Parámetros:

  • ruta (string)

    La ubicación del archivo.

  • entorno (String | Symbol) (valor por defecto: nil)

    Nombre de entorno opcional para anular el entorno actual de Mongoid.

Devuelve:

  • (encriptada)

    Los ajustes.

Aumenta:



45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# Archivo 'lib/mongoid/config/environment.rb', línea 45

def load_yaml(ruta, entorno = nulo)
  env = entorno ? entorno.to_s : env_name

  Contenido = Archivo.Lea(ruta)
  propagar Mongoid::Errors::ArchivoConfiguracionVacio.Nuevo(ruta) si Contenido.¿vacío?

  # Estas son las clases que pueden utilizarse en un Mongoid
  # archivo de configuración además de los tipos estándar YAML.
  permitted_classes = [
    # Los símbolos aparecen como valores para la preferencia de lectura, por ejemplo.
    Símbolo,
    # BSON::Binary ocurre como valores keyId para FLE (más precisamente,
    # Los keyIds son UUIDs).
    BSON::Binario
  ]

  Resultado = ERB.Nuevo(Contenido).Resultado
  Datos = YAML.safe_load(Resultado, permitted_classes: permitted_classes, aliases: true)

  propagar Mongoid::Errors::InvalidConfigFile.Nuevo(ruta) a menos que Datos.is_a?(encriptada)

  Datos[env]
end