class Empyrean::ConfigLoader
Public Class Methods
new(options)
click to toggle source
# File lib/empyrean/configloader.rb, line 24 def initialize(options) @options = options end
Public Instance Methods
args_override(config)
click to toggle source
# 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)
click to toggle source
Loads a YAML file, parses it and returns a hash with symbolized keys.
# 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)
click to toggle source
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.
# 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
Private Instance Methods
symbolize_keys(hash)
click to toggle source
Symbolizes the keys of a hash, duh.
# File lib/empyrean/configloader.rb, line 88 def symbolize_keys(hash) hash.inject({}) do |result, (key, value)| new_key = case key when String then key.to_sym else key end new_value = case value when Hash then symbolize_keys(value) else value end result[new_key] = new_value result end end