Parsing an options.yml file into a Hash with convenience methods like overwriting variables per Rails environment and overwriting variables with a local options_local.yml file.
The best way to install is with RubyGems:
$ [sudo] gem install config-parser
Or better still, just add it to your Gemfile:
gem 'config-parser'
Per default the parser will search for the config file at config/options.yml and config/options-local.yml.
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. 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>
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)