Archive

Posts Tagged ‘Ruby’

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.

Pedro Valentini Programação, Ruby, RubyOnRails , , ,