Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Testable Rails Application Configs
branch: master

This branch is 1 commit behind asynchrony:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
tasks
test
.gitignore
Gemfile
Gemfile.lock
LICENSE
README
Rakefile
application_config.gemspec

README

ApplicationConfig
=================

Basically there are 2 levels of configuration:

1) application wide which is configured in config/application.yml
2) environment specific which is configured in config/environments/application-#{RAILS_ENV}.yml

The environment specific configs override the applicaiton wide config


Example
=======

script/install plugin git://github.com/asynchrony/application_config.git

Then if for example in your config/application.yml you had:

mail_host: example.com

And in your config/environments/application-production.yml you had:

mail_host: production.server.com

you could in your code do:

ApplicationConfig::Base['mail_host'].to_s or
ApplicationConfig::Base.mail_host.to_s

At the moment you really need the to_s on the end.

Also, if you want to do a nil check you need to put the applicaiton config on the LHS:

if ApplicationConfig::Base.mail_host == nil

Because of the way it's working.

For testing, first:

require 'application_config_test_ext'

in your test_helper

And then before any test you want to alter the config for:

ApplicationConfig::Base.add(
<<EOF
mail_host: test_mail_host
EOF
)

Which will change the config for that test and then rollback to what it was before the test. 
This allows you to test behavior off of the singleton config object.


Copyright (c) 2009 [name of plugin creator], released under the MIT license
Something went wrong with that request. Please try again.