Acessando configurações do banco de dados no Rails
Toda aplicação Rails possui o arquivo config/database.yml, onde você configura a conexão com o banco de dados nos ambientes de produção, desenvolvimento e teste. O Rails se encarrega de realizar a conexão com o banco de dados quando a aplicação é iniciada (com o WEBrick, por exemplo).
E como fazer caso seja necessário, no seu contexto, ter acesso ao username e password presentes nesse arquivo? Acredito que esses dados não estejam disponÃveis em nenhum dos objetos que o Rails instancia (eu procurei), certamente por questões de segurança, mas se você realmente precisa carregar esses dados, eis aqui uma forma bem simples.
De preferência dentro de um controller da sua aplicação (como o ApplicationController), você pode definir esta linha:
class ApplicationController < ActiveRecord::Base
@@db_config = YAML.load_file("#{RAILS_ROOT}/config/database.yml")
[RAILS_ENV]
end
Agora você tem em @@db_config um hash (cujas chaves são strings, e não sÃmbolos) com tudo aquilo que você precisa. Digamos que seu config/database.yml tivesse esta cara:
production:
adapter: mysql
database: teste_production
username: teste
password: teste
timeout: 5000
development:
adapter: mysql
database: teste_development
username: teste
password: teste
timeout: 5000
Se o servidor da aplicação está rodando em modo de desenvolvimento, então a constante RAILS_ENV guarda development. Por conseqüência, @@db_config['database'], por exemplo, guarda teste_development.
Por ter sido declarada no escopo de classe de ApplicationController, nesse exemplo @@db_config estaria disponÃvel em todos os métodos de todos os seus controllers.
Open Source Rails
O OpenSouce Rails é um site dedicado a disponibilizar projetos desenvolvidos em Rails. Nele você irá encontrar uma grande variedades de aplicações Rails, podendo baixar para estudos ou até mesmo utilizar em seus projetos.
![]()
É uma grande iniciativa open source e com certeza vale a pena conhecer, então fica aà a dica!
