Class: Gamebox::Configuration
- Defined in:
- lib/gamebox/core/configuration.rb
Overview
Pattern stolen from rspec for configuration
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.add_setting(name, opts = {}) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/gamebox/core/configuration.rb', line 4 def self.add_setting(name, opts={}) if opts[:alias] alias_method name, opts[:alias] alias_method "#{name}=", "#{opts[:alias]}=" alias_method "#{name}?", "#{opts[:alias]}?" else define_method("#{name}=") {|val| settings[name] = val} define_method(name) { settings.has_key?(name) ? settings[name] : opts[:default] } define_method("#{name}?") { send name } end end |
Instance Method Details
#settings ⇒ Object
39 40 41 |
# File 'lib/gamebox/core/configuration.rb', line 39 def settings @settings ||= {} end |