De l'intérieur des rails, vous pouvez créer un objet de configuration et d'obtenir les informations qui leur sont nécessaires:
config = Rails.configuration.database_configuration
host = config[Rails.env]["host"]
database = config[Rails.env]["database"]
username = config[Rails.env]["username"]
password = config[Rails.env]["password"]
Voir la documentation pour les Rails::Configuration pour plus de détails.
Ce n'utilise YAML::load pour charger la configuration dans la base de données de fichier de configuration (database.yml
) que vous pouvez utiliser vous-même pour obtenir de l'information provenant de l'extérieur de l'environnement rails:
require 'YAML'
info = YAML::load(IO.read("database.yml"))
print info["production"]["host"]
print info["production"]["database"]
...