Skip to content

Instantly share code, notes, and snippets.

@henrik
Created November 28, 2008 13:42
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save henrik/29987 to your computer and use it in GitHub Desktop.
Save henrik/29987 to your computer and use it in GitHub Desktop.
Simple Settings object for Merb.
Merb::BootLoader.before_app_loads do
# This will get executed after dependencies have been loaded but before your app's classes have loaded.
require 'config/settings'
end
# Copy this file to config/settings.rb, add real values and keep out of
# version control if it contains secrets or per-developer values.
# Read values like: Settings.upload_dir
require 'ostruct'
settings = {}
env = Merb.environment.to_sym rescue :development
# Any env
settings.default = {
:upload_dir => '/foo',
:password => 'test'
}
# Override (merge) for this env
settings[:production] = settings.default.merge({
:upload_dir => '/bar',
:password => 'sesame'
})
Settings = OpenStruct.new(settings[env])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment