class Bifrossht::Config

Attributes

config[R]

Public Class Methods

connections() click to toggle source
# File lib/bifrossht/config.rb, line 22
def connections
  @connections ||= build_subconfig('connections', Config::Connection)
end
host_filters() click to toggle source
# File lib/bifrossht/config.rb, line 18
def host_filters
  @host_filters ||= build_subconfig('host_filters', Config::HostFilter)
end
load_config(path) click to toggle source
# File lib/bifrossht/config.rb, line 12
def load_config(path)
  @config = YAML.load_file(File.expand_path(path)) || {}
rescue Errno::ENOENT => e
  raise ParameterError, "Configuration file: #{e.message}"
end

Private Class Methods

build_subconfig(key, klass) click to toggle source
# File lib/bifrossht/config.rb, line 28
def build_subconfig(key, klass)
  return [] unless @config.key?(key)

  params = @config[key]

  unless params.is_a? Array
    raise ParameterError, "#{key} must be an array"
  end

  params.map { |c| klass.new(c) }
end