Ruby Config Parser
Providing config values for your Ruby app with convenience methods like overwriting variables per Rails environment and overwriting variables with a local options_local.yml file.
Installation
The best way to install is with RubyGems:
$ gem install config-parser
Or better still, just add it to your Gemfile
:
gem 'config-parser'
Defaults
Per default the parser will search for the config file at config/options.yml
and local overrides at config/options-local.yml
.
Example
Example config file:
default:
supported_languages: en
mailer_delivery_method: local
production:
mailer_delivery_method: smtp
When running in the production environment, the mailer_delivery_method will be set to 'smtp'. The same works for all other environments. The optional options_local.yml file would have the same layout.
The precedence of config values goes like this (from lowest to highest):
options.yml default section -> options.yml environment section -> options-local.yml default section -> options-local.yml environment section
When used from a Rails app, just include in your application.rb
:
OPTS = Common::Options.new
and you can use the config variables like:
OPTS.<variable_name>
OPTS.<variable_name>[:nested_value]
Also, you can pass main config and local config location as well as environment to load That allows you to use config-parser outside Rails env.
OPTS = Common::Options.new('path/to/options.yml', 'path/to/options-local.yml', :development)