Módulo: Mongoid::Config::Environment

Estendido por:
ambiente
Incluído em:
ambiente
Definido em:
lib/mongoid/config/environment.rb

Visão geral

Encapsula lógica para obter informações do ambiente.

Recolhimento do Resumo do método de instância

Detalhes do método de instância

#env_name ➤ string

Obtenha o nome do ambiente em que o Mongoid está sendo executado.

Usa as seguintes fontes em ordem:

  • Se ::Rails estiver definido, Rails.env.
  • Se ::Sinatra estiver definido, Sinatra::Base.environment.
  • RACK_ENV
  • +MONGOID_ENV*

Exemplos:

Obtenha o nome do ambiente.

Environment.env_name

Retorna:

  • (string)

    O nome do ambiente atual.

Aumenta:

  • (Erros::NoEnvironment)

    Se o nome do ambiente não puder ser determinado porque nenhuma das fontes foi definida.



25
26
27
28
29
30
# Arquivo 'lib/mongoid/config/environment.rb', linha 25

def env_name
  Método ::Trilhos.env se definido?(::Trilhos)
  Método ::Sinatra::Base.ambiente.to_s se definido?(::Sinatra)

  ENV['RACK_ENV'] || ENV['MONGOID_ENV'] ou aumentar Errors::NoEnvironment
end

#load_yaml(caminhos, ambiente = nil) ➤ Hash

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Carregue o yaml do caminho fornecido e retorne as configurações para o ambiente especificado ou para o ambiente Mongoid atual.

Exemplos:

Carregue o yaml.

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

Parâmetros:

  • caminho (string)

    A localização do arquivo.

  • ambiente (string | Símbolo) (padrão para: nil)

    Nome do ambiente opcional para substituir o ambiente Mongoid atual.

Retorna:

  • (Hash)

    As configurações.

Aumenta:



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

def load_yaml(caminho, ambiente = nada)
  env = ambiente ? ambiente.to_s : env_name

  Conteúdos = arquivo.ler(caminho)
  aumentar Mongoid::Errors::Arquivo de configuração vazio.Novo(caminho) se Conteúdos.vazio?

  # Estas são as classes que podem ser usadas em um Mongoid
  # arquivo de configuração além dos tipos YAML padrão.
  allow_classes = [
    # Os símbolos ocorrem como valores de preferência de leitura, por exemplo.
    Símbolo,
    # BSON::Binary ocorrem como valores keyId para FLE (mais precisamente,
    # os keyIds são UUIDs).
    BSON::Binário
  ]

  Resultado = ERB.Novo(Conteúdos).Resultado
  de dados = YAML.safe_load(Resultado, allow_classes: allow_classes, aliases: true)

  aumentar Mongoid::Errors::InvalidConfigFile.Novo(caminho) a menos que de dados.is_a?(Hash)

  de dados[env]
end