Есть такая замечательная библиотека 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_index
test: sphinx: index: test_index <<: *sphinx_defaults
production: 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"
.
Приятного использования :)