class Avalon::Config

Global Config

Constants

DEFAULT_SOUNDS

Public Class Methods

[](key) click to toggle source
# File lib/avalon/config.rb, line 47
def self.[] key
  @config[key]
end
config() click to toggle source
# File lib/avalon/config.rb, line 43
def self.config
  @config
end
load(env) click to toggle source
# File lib/avalon/config.rb, line 17
def self.load env
  config_file = find_file( '../../../config/monitor.yml', '~/.avalon/monitor.yml')

  raise "No config file: ~/.avalon/monitor.yml" unless File.exist? config_file

  @config = YAML::load_file(config_file)[env]
  @config[:environment] = env
  @config[:block_file] =  find_file( '../../../config/blocks.yml', '~/.avalon/blocks.yml') ||
    File.expand_path('~/.avalon/blocks.yml')

  # Setting defaults
  @config[:alert_sounds] = 
    case @config[:alert_sounds]
    when Symbol, false
      @config[:alert_sounds]
    when Hash  
      DEFAULT_SOUNDS.merge @config[:alert_sounds]
    when true, nil
      DEFAULT_SOUNDS  
    end  
  @config[:alert_last_share] ||= 2
  @config[:alert_after] ||= @config[:status_fails_to_alarm] || 2
  @config[:alert_temp_high] ||= @config[:alert_temp] || 55
  @config[:alert_temp_low] ||= 30
end