Plugins - App Config

StarAdd to favorites

Rails framework default configuration way is, as we all know, flexible and simple at the same time. Troubles begins when Your application starts to grow - some form of app specific configuration is then required to keep all as DRY as possible.

AppConfig plugin provides a convenient way for configuration application wide settings. Extra custom files in config/ or other unusual configuration hacks are no longer needed. AppConfig extends Rails configuration process in a way that allows to setup application specific options within default configuration block.

Installation:

It’s been posted on the Rails Plugin wiki page, so theoretically You could install it with:

        $ script/plugin discover
        $ script/plugin install app_config

Otherwise You can install directly from the repository:

        $ script/plugin install http://svn.jarmark.org/rails/app_config

NOTE: because AppConfig modifies Rails configuration internals, must be included before Rails::Initializer#run. If You are using Rails v1.1+ this step is taken automatically during installation. Otherwise add the following line to conf/environment.rb file:

        require 'plugins/app_config/lib/configuration'

(somewhere between line ‘require File.join(File.dirname(FILE), ‘boot’) and ‘Rails::Initializer.run’)

Usage

You can specify app-wide settings in configuration file(s) using ’app_config’ prefix e.g. environment.rb:

        Rails::Initializer.run do |config|
        ...
           # --- My killer-app specific settings:
           config.app_config.my_key = 'my value'
           config.app_config.boot_time = Time.now
           config.app_config.default_mail_subject = '[appconfig] '
           config.app_config.my_hash = {:a=>1, :b=>2}
        ...

but also in e.g. environment/development.rb

        ...
        config.app_config.default_message = "I'm now in development mode..."
        ...

Access to previously configured settings from within application code is also dead easy:

        AppConfig.my_key
        AppConfig[:my_key]
        AppConfig['my_key']
        AppConfig.param('my_key')
        AppConfig.param(:my_key)
        AppConfig.param('my_key', 'value if my_key is nil')
        AppConfig.param(:my_key)do
         ... #executed when my_key is nil
        end

Happy (re)configurations!

Daniel Owsianski

http://jarmark.org/projects/app-config/

http://svn.jarmark.org/rails/app_config

Rails' (MIT)

  • Currently 4.6/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Misc. Enhancements

Tags

Comments

Add a comment
jc 29 Jun 2008

Doesn't work in Rails 2.1. Tried fixing it but the code is mostly incomprehensible.

Sujoy Roy 22 Jan 2008

I am newbie in rails world. This plug in helps me start to store the system wide settings like Administrator password.

Andrew Kaspick 6 Jan 2008

Was about to write a similar plugin, but a search came up with this and it's "exactly" what I was thinking of myself. Thanks!

Search Plugins

Query syntax

Plugins by Category

Sponsors

Rails Kits: Get Code. Get Moving.
Recruiting software

Have a comment?