Class: Bumps::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/bumps/configuration.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfiguration

Returns a new instance of Configuration.



15
16
17
18
19
20
# File 'lib/bumps/configuration.rb', line 15

def initialize
  @config = {
    :output_stream => STDOUT,
    :results_formatter => Bumps::JSONFormatter
  }
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args) ⇒ Object



22
23
24
25
26
# File 'lib/bumps/configuration.rb', line 22

def method_missing method, *args
  return @config[method] if @config.has_key?(method)
  method_name = method.to_s
  method_name =~ /=$/ ? @config[method_name.chop.to_sym] = args[0] : super(method, args)
end

Class Method Details

.method_missing(method, *args, &block) ⇒ Object



6
7
8
# File 'lib/bumps/configuration.rb', line 6

def self.method_missing method, *args, &block
  singleton.send method, *args, &block  
end

.singletonObject



10
11
12
13
# File 'lib/bumps/configuration.rb', line 10

def self.singleton
  @singleton = Configuration.new unless defined? @singleton
  @singleton 
end

Instance Method Details

#configure(&block) ⇒ Object



28
29
30
# File 'lib/bumps/configuration.rb', line 28

def configure &block
  instance_eval(&block)
end

#format_results_with(formatter_class) ⇒ Object



45
46
47
# File 'lib/bumps/configuration.rb', line 45

def format_results_with formatter_class
  @config[:results_formatter] = formatter_class
end

#pull_from(url) ⇒ Object



41
42
43
# File 'lib/bumps/configuration.rb', line 41

def pull_from url
  @config[:pull_url] = url
end

#push_to(url) ⇒ Object



37
38
39
# File 'lib/bumps/configuration.rb', line 37

def push_to url
  @config[:push_url] = url
end

#use_server(server) ⇒ Object



32
33
34
35
# File 'lib/bumps/configuration.rb', line 32

def use_server server
  @config[:pull_url] = URI.join(server, 'features/content').to_s
  @config[:push_url] = URI.join(server, 'features/results').to_s
end