Skip to content

Instantly share code, notes, and snippets.

@phiggins
Created August 29, 2012 06:44
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save phiggins/3507564 to your computer and use it in GitHub Desktop.
Save phiggins/3507564 to your computer and use it in GitHub Desktop.
Class configuration using OpenStruct
require 'ostruct'
module Awesome
def self.config
@config
end
def self.configure
yield(config)
end
class Configuration < OpenStruct ; end
@config = Configuration.new
end
Awesome.configure do |a|
a.magic_number = 3
end
puts Awesome.config.magic_number
# => 3
puts Awesome.config
# => #<Awesome::Configuration magic_number=3>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment