class ATS::Configuration

Attributes

config_files[RW]
debug[RW]
logger[RW]

Public Class Methods

new() click to toggle source
# File lib/ats/configuration.rb, line 5
def initialize
  @logger = Logger.new(STDOUT)
  @logger.level = Logger::DEBUG
  @debug = false
  @config_files = [
    File.join(Dir.home, ".atsrc"),
    File.expand_path('.atsrc'),
    ENV['ATSRC']
  ].compact
end

Public Instance Methods

fetch(key) click to toggle source
# File lib/ats/configuration.rb, line 16
def fetch(key)
  hash.fetch(key.to_sym)
end
to_h() click to toggle source
# File lib/ats/configuration.rb, line 20
def to_h
  hash.dup
end

Private Instance Methods

hash() click to toggle source
# File lib/ats/configuration.rb, line 26
def hash
  @hash ||= load_configuration
end
load_configuration(files = config_files) click to toggle source
# File lib/ats/configuration.rb, line 30
def load_configuration(files = config_files)
  files.inject({}) do |memo, file|
    logger.debug("Searching for #{file}...") if debug
    memo.merge!(YAML.load(IO.read(file))) if File.exist?(file)
    memo
  end
end