Class: Gamebox::Configuration

Inherits:
Object
  • Object
show all
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

#settingsObject



39
40
41
# File 'lib/gamebox/core/configuration.rb', line 39

def settings
  @settings ||= {}
end