Simple tool for managing ruby/rails application configurations.
Add this line to your application's Gemfile:
gem 'a9n'
And then execute:
$ bundle
Add configuration.yml.example
and/or configuration.yml
file into the config
directory. When none fo these files exists, A9n::MissingConfigurationFile
exception is thrown.
If both file exist, content of configuration.yml
is validated. It means that
all keys existing in example file must exist in base file - in case of missing
keysA9n::MissingConfigurationVariables
is thrown with information about
missing keys.
Load configuration by adding to your application.rb
or environment.rb
right
after budler requires:
A9n.load
This step is not required, but recommended, as it configuration is loaded and verified on evironment load.
It works with Rails
by default. If you want to use A9n
with non-rails app
you need to tell it A9n:
A9n.local_app = MyApp
You can access any variable defined in configuration files but delegating it to
A9n
. E.g:
production:
app_host: 'http://knapo.net'
is accessible by:
A9n.app_host
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request