module Oxidized
require 'ostruct'
require 'yaml'
class Config < OpenStruct
require 'oxidized/config/defaults'
# @param file [string] configuration file location
def initialize file=File.join(Config::Root, 'config')
super()
@file = file.to_s
end
# load config from file or bootstrap with built-ins
def load
if File.exists? @file
marshal_load YAML.load_file @file
else
require 'oxidized/config/bootstrap'
end
end
# save config to file
def save
File.write @file, YAML.dump(marshal_dump)
end
end
CFG = Config.new
CFG.load
Log.file = CFG.log if CFG.log
Log.level = Logger::INFO unless CFG.debug
end