Class: ISPMonitor::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/isp_monitor/config.rb

Instance Attribute Summary collapse

Instance Attribute Details

#checksObject



29
30
31
32
33
34
35
# File 'lib/isp_monitor/config.rb', line 29

def checks
  @checks ||= begin
    config_file.fetch(:checks, []).map do |config|
      ISPMonitor::Checks.lookup(config[:type].to_sym).new(config)
    end
  end
end

#config_fileObject



8
9
10
11
12
13
14
15
16
# File 'lib/isp_monitor/config.rb', line 8

def config_file
  @config_file ||= begin
    if File.exist?(config_file_path)
      Psych.safe_load_file(config_file_path, symbolize_names: true)
    else
      {}
    end
  end
end

#config_file_pathObject



3
4
5
# File 'lib/isp_monitor/config.rb', line 3

def config_file_path
  @config_file_path ||= ENV.fetch('CONFIG_FILE_PATH', File.expand_path('isp_monitor.yml', Dir.pwd)).strip.presence
end

#logstash_hostObject



19
20
21
# File 'lib/isp_monitor/config.rb', line 19

def logstash_host
  @logstash_host ||= ENV.fetch('LOGSTASH_HOST', '').strip.presence
end

#logstash_portObject



24
25
26
# File 'lib/isp_monitor/config.rb', line 24

def logstash_port
  @logstash_host ||= ENV.fetch('LOGSTASH_PORT', '50000').strip.presence.to_i
end