Skip to content

dosire/app_config

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Copyright (c) 2006 Daniel Owsianski  (daniel-at-jarmark-d0t-org)
Changes by Nate Walker 2008 (kiwinewt-at-gmail-d0t-com)

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:
You can install directly from the repository:

  $ script/plugin install git://github.com/kiwinewt/app_config.git

Note: This plugin was originally obtained from:
	$ 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
	
 safe parameter testing
   AppConfig.has_param?(:mail_from_address)
   AppConfig.has_param?('mail_from_address')

Happy (re)configurations!

Author:: Daniel Owsianski, (daniel-at-jarmark-d0t-org)
Author:: Nate Walker 2008 (kiwinewt-at-gmail-d0t-com)
Version:: 0.1
Home page:: http://github.com/kiwinewt/app_config/tree
License::  Copyright (c) 2006 Daniel Owsiañski.
           Released under MIT-LICENCE (included).

About

App Config

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages