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_nameCadena

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::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 env_name
  si ¿definido?(::Tirantes)
    return ::Tirantes.env
  end
  si ¿definido?(::Sinatra)
    return ::Sinatra::Base.medio ambiente.to_s
  end
  ENV["RACK_ENV"] || ENV["MONGOID_ENV"] or propagar Errors::Sin entorno
end

#load_yaml(path, environment = nil) ⇒ 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.

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.

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

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

Devuelve:

  • (encriptada)

    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 load_yaml(ruta, medio ambiente = nulo)
  env = medio ambiente ? medio ambiente.to_s : env_name

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

  # 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.carga segura(Resultado, clases_permitidas: permitted_classes, aliases: true)

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

  Datos[env]
end