An add-on structure that will read configatron settings from multiple and default locations. Based on the excellent Configatron:https://github.com/markbates/configatron
Ruby Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
examples
lib
spec
.document
.gitignore
.rspec
Gemfile
Gemfile.lock
LICENSE.txt
README.textile
Rakefile
VERSION
configatron_plus.gemspec

README.textile

ConfigatronPlus

An addition to Configatron to make it easy to read configuration from default settings and multiple locations including environmental variables.

Configatron

Find out more at Configatron

Installation

Installation of ConfigatronPlus is easy, as it is just a RubyGem:

TODO: finish wrapping things up as gem


  $ sudo gem install configatron_plus

Once installed you just need to require it:


  require 'configatron_plus'

Usage

ConfigatronPlus stores all of its own configuration inside configatron. Use the following to see the current setup:


  puts configatron.to_hash #dump it as a straight ruby code.
  puts configatron.inspect #show the code you'd need to recreate the current config

Config

There are 5 parameters that can be configured, all of which have defaults. All 5 are located at


  configatron.configatron_plus
 

Parameter Use Default
env_prefix change this to change the prefix used in to look for values in the ENV configatron_
fail_when_missing change this to true to raise an error when a file in #sources is not found on the filesystem false
rc_name the default name of the file to look for config.rb
source_files the actual file name used for a given symbol
:current => #{configatron.configatron_plus.rc_name}
sources The list of files and symbols to load
[:current, :env]

default

The default config looks like this when #inspect


  configatron.configatron_plus.env_prefix = "configatron_"
  configatron.configatron_plus.fail_when_missing = false
  configatron.configatron_plus.rc_name = "config.rb"
  configatron.configatron_plus.source_files = {:current=>"config.rb"}
  configatron.configatron_plus.sources = [:current, :env]

Examples

Default

By default, ConfigurationPlus looks for a config.rb file in the current directory, and reads any Environmental Variables with a name that starts with configatron_


  ConfigatronPlus.fetch_sources #Checks the current dir for config.rb and reads from environmental variables

Different default filename and prefix

To look for an alternate filename, set the rc_name parameter


  configatron.configatron_plus.rc_name = "my_app.rb"
  configatron.configatron_plus.env_prefix = "my_app_
  ConfigatronPlus.fetch_sources #Checks the current dir for my_app.rb and reads from environmental variables starting with my_app_

Contact