Есть такая замечательная библиотека configatron, которая позволяет легко и непринужденно работать с конфигами приложения. Обращаться к значениям конфигурации можно через цепочку методов:
connect(configatron.database.host, configatron.database.port)
Метод configatron встраивается в модуль Kernel и имеет глобальную область видимости в приложении. Загружать данные можно либо из хеша, либо из YAML-файла. Например, в Rails можно загружать данные из файла config/config.yml такого вида:
development: sphinx: &sphinx_defaults host: sphinx.server port: 3312 index: dev_indextest: sphinx: index: test_index <<: *sphinx_defaultsproduction: sphinx: index: production_index <<: *sphinx_defaults
Загрузить файл config/config.yml можно из config/initializers/load_config.rb такого содержания:
configatron.configure_from_yaml(
File.join(Rails.root, "config", "config.yml"),
:hash => Rails.env
)
Ну и конечно, не забудем внести зависимость на gem в файл config/environment.rb, добавив строчку config.gem "configatron".
Приятного использования :)