diff options
author | Saku Ytti <saku@ytti.fi> | 2013-04-17 17:48:50 +0300 |
---|---|---|
committer | Saku Ytti <saku@ytti.fi> | 2013-04-17 17:48:50 +0300 |
commit | 9d217025fac3e335c308f02e7377e14ccfdc0e66 (patch) | |
tree | b90d4d04947fe26a9e592e12d8c4352142380c03 /lib/oxidized/config/core.rb |
Initial commit
Silly for shit-and-giggles attempt at rancid
Diffstat (limited to 'lib/oxidized/config/core.rb')
-rw-r--r-- | lib/oxidized/config/core.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/oxidized/config/core.rb b/lib/oxidized/config/core.rb new file mode 100644 index 0000000..6c91920 --- /dev/null +++ b/lib/oxidized/config/core.rb @@ -0,0 +1,28 @@ +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 |