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.

Colapso del resumen del método de instancia

Detalles del método de instancia

#env_nameCadena

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

Utiliza las siguientes fuentes en orden:

  • Si se define ::Rails, Rails.env.

  • Si se define ::Sinatra, Sinatra::Base.environment.

  • RACK_ENV

  • +MONGOID_ENV*

Ejemplos:

Obtener el nombre del entorno.

Environment.env_name

Devuelve:

  • (Cadena) -

    El nombre del entorno actual.

Aumentos:

  • (Errores::Sinentorno)

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



27
28
29
30
31
32
33
34
35
# Archivo 'lib/mongoid/config/environment.rb', línea 27

def nombre_entorno
  Si ¿definido?(::Carriles)
    return ::Carriles.env
  end
  Si ¿definido?(::Sinatra)
    return ::Sinatra::Base.medio ambiente.a_s
  end
  ENV["RACK_ENV"] || ENV["MONGOID_ENV"] or propagar Errors::Sin entorno
end

#load_yaml(ruta, entorno = nulo) ⇒ Hash

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

Cargue el yaml desde la ruta proporcionada y devuelva las configuraciones para el entorno especificado o para el entorno Mongoid actual.

Ejemplos:

Cargar el yaml.

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

Parámetros:

  • ruta (Cadena) -

    La ubicación del archivo.

  • medio ambiente (Cadena | Símbolo) (predeterminado: nulo)

    Nombre de entorno opcional para anular el entorno Mongoid actual.

Devuelve:

  • (Hash)

    Los ajustes.



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# Archivo 'lib/mongoid/config/environment.rb', línea 50

def cargar_yaml(ruta, medio ambiente = nulo)
  env = medio ambiente ? medio ambiente.a_s : nombre_entorno

  contenido = Archivo.Lea(ruta)
  Si contenido.¿vacío?
    propagar Mongoid::Errors::Archivo de configuración vacío.Nuevo(ruta)
  end

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

  resultado = ERB.Nuevo(contenido).resultado
  datos = YAML.carga segura(resultado, clases_permitidas: clases_permitidas, aliases: true)

  a no ser que datos.is_a?(Picadillo)
    propagar Mongoid::Errors::InvalidConfigFile.Nuevo(ruta)
  end

  datos[env]
end