Tarot
Tarot is a quick, simple, and useful configuration manager for Rails applications. It supports easy-to-use deeply-nested configuration trees, default values, and multiple environments. Tarot leverages YAML to enable DRY configurations, and features I18n-style access to subtrees.
Getting Started
Add Tarot to your gemfile:
gem "tarot"
Next, install the Tarot configuration:
bundle install
script/generate tarot
This installs config/tarot.yml (your primary configuration), and an initializer to help you get up and running quickly.
Usage
Tarot installs a helper method, config
, with the following signature:
config(path, default = nil, override_environment = nil)
Assuming you have a config file like so:
---
base: &base
foo: bar
nested:
tree: value
array:
- value 1
- value 2
development: &development
<<: *base
test: &test
<<: *base
production: &production
<<: *base
foo: baz
You could can access values by key, or by dot-delimited path:
config('foo') => 'bar'
config('nested.tree') => value
Default values are similarly easy.
config('foo.missing', 42) => 42
Finally, while Tarot will read your current application environment's config, if you want to reach into another environment, that's likewise easy:
config('foo', nil, 'production') => 'baz'
This lets you build out config files easily while sharing common configuration between environments.
Credits
Tarot was written by Chris Heald ([email protected]). See LICENSE for license details.