Confirguração em arquivo externo YAML, simples e rápido no RubyOnRails
September 12th, 2006
Fiz hoje a tarde esse simples código para eu nunca mais precisar colocar configuação hardcoded (dentro do código), e sim em um arquivo externo como este que no rails eu adicionei em config/site.yml:
admin_email: contato@meudominio.com url: http://www.meudominio.com site: title: Meu título description: Descrição keywords: Palavras chaves
No final do config/environment.rb, ou a inicialização de qualquer programa em ruby, coloque as seguintes linhas:
config = YAML::load(File.open("#{RAILS_ROOT}/config/site.yml"))
config.each { |key, value|
eval "$#{key.upcase} = #{value.inspect}"
}
Elas leem o arquivo e definem as variáveis globais, neste caso você teria as seguintes variáveis globais:
$ADMIN_EMAIL, $URL e $SITE, sendo a última um hash, com por exemplo $SITE['title'].
Qualquer dúvida ou problema podem comentar.
Atualizado em 03/2007.