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.



27
28
29
30
31
32
33
34
35
# Arquivo 'lib/mongoid/config/environment.rb', linha 27

def env_name
  se definido?(::Trilhos)
    Método ::Trilhos.env
  end
  se definido?(::Sinatra)
    Método ::Sinatra::Base.ambiente.to_s
  end
  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.



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
# Arquivo 'lib/mongoid/config/environment.rb', linha 50

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

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

  # 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)

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

  de dados[env]
end