Skip to content

Instantly share code, notes, and snippets.

@aisuii
Created April 13, 2011 09:10
Show Gist options
  • Save aisuii/917243 to your computer and use it in GitHub Desktop.
Save aisuii/917243 to your computer and use it in GitHub Desktop.
some_module/config.rb
require 'singleton'
require 'yaml'
require 'rubygems'
require 'active_support/core_ext'
module SomeModule
module Config
def self.included(klass)
klass.extend ClassMethods
end
module ClassMethods
def config
@config ||= Configuration.instance.config
end
end
class Configuration
include Singleton
attr_reader :config
def initialize(yml = 'config.yml')
@config = HashWithIndifferentAccess.new(YAML.load(File.read(yml)))
@config.freeze
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment