Class: Avalon::Config

Inherits:
Object
  • Object
show all
Extended by:
Utils
Defined in:
lib/avalon/config.rb

Overview

Global Config

Constant Summary collapse

DEFAULT_SOUNDS =
{
  restart: 'Frog.aiff',
  failure: 'Glass.aiff',
  perf_low: 'Glass.aiff',
  last_share: 'Glass.aiff',
  temp_high: 'Ping.aiff',
  temp_low: 'Ping.aiff',
  block_found: ['Dog.aiff', 'Purr.aiff', 'Dog.aiff'],
  block_updated: ['Purr.aiff', 'Purr.aiff', 'Purr.aiff']
}

Class Method Summary collapse

Methods included from Utils

alarm, duration, find_file, ping, play, system

Class Method Details

.[](key) ⇒ Object



39
40
41
# File 'lib/avalon/config.rb', line 39

def self.[] key
  @config[key]
end

.configObject



35
36
37
# File 'lib/avalon/config.rb', line 35

def self.config
  @config
end

.load(env) ⇒ Object



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 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] = DEFAULT_SOUNDS.merge(@config[:alert_sounds] || {})
  @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