Method: RSpec::Core::Configuration.add_setting

Defined in:
lib/rspec/core/configuration.rb

.add_setting(name, opts = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/rspec/core/configuration.rb', line 9

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