Class: StallmanBot::Configuration

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

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.valid_config_keysObject (readonly)

Returns the value of attribute valid_config_keys.



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

def valid_config_keys
  @valid_config_keys
end

Class Method Details

.configure(opts = {}) ⇒ Object



19
20
21
22
23
24
# File 'lib/stallman_bot/configuration.rb', line 19

def self.configure(opts = {})
  opts.each do |k, v|
    @config[k.to_sym] = v if @valid_config_keys.include? k.to_sym
  end
  @config
end

.configure_with(file) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/stallman_bot/configuration.rb', line 26

def self.configure_with(file)
  begin
    config = YAML.load_file(file ||= 'bot.yaml')
  rescue Errno::ENOENT
    puts 'YAML configuration file couldn\'t be found. Using defaults.'
    return
  rescue Psych::SyntaxError
    puts 'YAML configuration file contains invalid syntax. Using defaults'
    return
  end
  @config[:file] = file
  configure(config)
end