Pergunta

Eu estou usando Merb e DataMapper com um db MySQL. Eu quero acessar o nome do banco, usuário e senha de uma tarefa Rake para meu aplicativo Merb. Acho que eu poderia YAML.load() o o database.yml, mas que parece feio. Alguma idéia?

Foi útil?

Solução

desc "outputs database connection parameters"
task :db_conn => :merb_env do |t|
  puts "Username: #{DataMapper.repository.adapter.uri.user}"
  puts "Password: #{DataMapper.repository.adapter.uri.password}"
  puts "Database: #{DataMapper.repository.adapter.uri.path.split('/').last}"
end

A parte interessante não é o bit => :merb_env. Que garante que a tarefa "merb_env" executou antes de sua tarefa faz. Isso simplesmente carrega o ambiente Merb, em que ponto você pode avançar para inspecionar sua configuração.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top