Class: Empyrean::ConfigLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/empyrean/configloader.rb

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ ConfigLoader

Returns a new instance of ConfigLoader.



24
25
26
# File 'lib/empyrean/configloader.rb', line 24

def initialize(options)
  @options = options
end

Instance Method Details

#args_override(config) ⇒ Object



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/empyrean/configloader.rb', line 64

def args_override(config)
  config_args = @options.config_values
  config[:timezone_difference] = config_args[:timezone_difference] unless config_args[:timezone_difference].nil?
  config[:mentions][:enabled]  = config_args[:mentions_enabled]    unless config_args[:mentions_enabled].nil?
  config[:mentions][:top]      = config_args[:mentions_top]        unless config_args[:mentions_top].nil?
  config[:mentions][:notop]    = config_args[:mentions_notop]      unless config_args[:mentions_notop].nil?
  config[:clients][:enabled]   = config_args[:clients_enabled]     unless config_args[:clients_enabled].nil?
  config[:clients][:top]       = config_args[:clients_top]         unless config_args[:clients_top].nil?
  config[:clients][:notop]     = config_args[:clients_notop]       unless config_args[:clients_notop].nil?
  config[:hashtags][:enabled]  = config_args[:hashtags_enabled]    unless config_args[:hashtags_enabled].nil?
  config[:hashtags][:top]      = config_args[:hashtags_top]        unless config_args[:hashtags_top].nil?
  config[:hashtags][:notop]    = config_args[:hashtags_notop]      unless config_args[:hashtags_notop].nil?
  config[:smileys][:enabled]   = config_args[:smileys_enabled]     unless config_args[:smileys_enabled].nil?
  config[:smileys][:top]       = config_args[:smileys_top]         unless config_args[:smileys_top].nil?
  config[:smileys][:notop]     = config_args[:smileys_notop]       unless config_args[:smileys_notop].nil?
  config[:ignored_users]       = config_args[:ignored_users]       unless config_args[:ignored_users].nil?
  config[:ignored_users].each do |user|    user.downcase! end
  config[:renamed_users].each do |old, new| new.downcase! end
  config
end

#load(file) ⇒ Object

Loads a YAML file, parses it and returns a hash with symbolized keys.



30
31
32
33
34
35
36
# File 'lib/empyrean/configloader.rb', line 30

def load(file)
  if File.exist? file
    symbolize_keys(YAML.load_file(File.expand_path('.', file)))
  else
    {}
  end
end

#load_config(file = @options.config) ⇒ Object

Loads a YAML file, parses it and checks if all values are given. If a value is missing, it will be set with the default value.



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/empyrean/configloader.rb', line 40

def load_config(file = @options.config)
  config = load(file)
  config[:timezone_difference] = 0        if config[:timezone_difference].nil?
  config[:mentions]            = {}       if config[:mentions].nil?
  config[:mentions][:enabled]  = true     if config[:mentions][:enabled].nil?
  config[:mentions][:top]      = 10       if config[:mentions][:top].nil?
  config[:mentions][:notop]    = 20       if config[:mentions][:notop].nil?
  config[:clients]             = {}       if config[:clients].nil?
  config[:clients][:enabled]   = true     if config[:clients][:enabled].nil?
  config[:clients][:top]       = 10       if config[:clients][:top].nil?
  config[:clients][:notop]     = 20       if config[:clients][:notop].nil?
  config[:hashtags]            = {}       if config[:hashtags].nil?
  config[:hashtags][:enabled]  = true     if config[:hashtags][:enabled].nil?
  config[:hashtags][:top]      = 10       if config[:hashtags][:top].nil?
  config[:hashtags][:notop]    = 20       if config[:hashtags][:notop].nil?
  config[:smileys]             = {}       if config[:smileys].nil?
  config[:smileys][:enabled]   = true     if config[:smileys][:enabled].nil?
  config[:smileys][:top]       = 10       if config[:smileys][:top].nil?
  config[:smileys][:notop]     = 0        if config[:smileys][:notop].nil?
  config[:ignored_users]       = []       if config[:ignored_users].nil?
  config[:renamed_users]       = []       if config[:renamed_users].nil?
  args_override config
end