class NetuitiveD::ConfigManager

Attributes

apiId[R]
baseAddr[R]
data[R]
elementName[R]
elementTags[R]
interval[R]
netuitivedAddr[R]
netuitivedPort[R]
port[R]

Public Class Methods

boolean_property(name, var) click to toggle source
# File lib/netuitived/config_manager.rb, line 29
def boolean_property(name, var)
  prop = ENV[var].nil? ? nil : ENV[var].dup
  if prop.nil? || (prop == '')
    prop = data[name]
  else
    prop.strip!
    prop = prop.casecmp('true').zero?
  end
  prop
end
float_property(name, var) click to toggle source
# File lib/netuitived/config_manager.rb, line 40
def float_property(name, var)
  prop = ENV[var].nil? ? nil : ENV[var]
  if prop.nil? || (prop == '')
    data[name].to_f
  else
    prop.to_f
  end
end
load_config() click to toggle source
# File lib/netuitived/config_manager.rb, line 61
def load_config
  gem_root = File.expand_path('../../..', __FILE__)
  @data = YAML.load_file "#{gem_root}/config/agent.yml"
end
property(name, var, default = nil) click to toggle source
# File lib/netuitived/config_manager.rb, line 22
def property(name, var, default = nil)
  prop = ENV[var]
  prop = data[name] if prop.nil? || (prop == '')
  return prop unless prop.nil? || (prop == '')
  default
end
read_config() click to toggle source
# File lib/netuitived/config_manager.rb, line 66
def read_config
  @apiId = property('apiId', 'NETUITIVED_API_ID')
  @baseAddr = property('baseAddr', 'NETUITIVED_BASE_ADDR')
  @port = property('port', 'NETUITIVED_PORT')
  @elementName = property('elementName', 'NETUITIVED_ELEMENT_NAME')
  @elementTags = property('elementTags', 'NETUITIVED_ELEMENT_TAGS')
  @netuitivedAddr = property('netuitivedAddr', 'NETUITIVED_NETUITIVED_ADDR')
  @netuitivedPort = property('netuitivedPort', 'NETUITIVED_NETUITIVED_PORT')
  @interval = property('interval', 'NETUITIVED_INTERVAL')
  debugLevelString = property('debugLevel', 'NETUITIVED_DEBUG_LEVEL')
  NetuitiveD::NetuitiveLogger.log.level = if debugLevelString == 'error'
                                            Logger::ERROR
                                          elsif debugLevelString == 'info'
                                            Logger::INFO
                                          elsif debugLevelString == 'debug'
                                            Logger::DEBUG
                                          else
                                            Logger::ERROR
                                          end
  NetuitiveD::NetuitiveLogger.log.debug "read config file. Results:
    apiId: #{apiId}
    baseAddr: #{baseAddr}
    port: #{port}
    elementName: #{elementName}
    elementTags: #{elementTags}
    debugLevel: #{debugLevelString}"
end
string_list_property(name, var) click to toggle source
# File lib/netuitived/config_manager.rb, line 49
def string_list_property(name, var)
  list = []
  prop = ENV[var].nil? ? nil : ENV[var].dup
  if prop.nil? || (prop == '')
    list = data[name] if !data[name].nil? && data[name].is_a?(Array)
  else
    list = prop.split(',')
  end
  list.each(&:strip!) unless list.empty?
  list
end