remainders
end
- def coercion_and_check check_cfg
+ def coercion_and_check check_cfg, check_nonempty: true
@config_types.each do |cfgkey, cfgtype|
cfg = check_cfg
k = cfgkey
end
if cfgtype == NonemptyString
- if (!cfg[k] || cfg[k] == "")
+ if (!cfg[k] || cfg[k] == "") && check_nonempty
raise "#{cfgkey} cannot be empty"
end
if cfg[k].is_a? String
end
end
- def self.load path
- yaml = ERB.new(IO.read path).result(binding)
- YAML.load(yaml, deserialize_symbols: false)
+ def self.load path, erb: false
+ if File.exist? path
+ yaml = IO.read path
+ if erb
+ yaml = ERB.new(yaml).result(binding)
+ end
+ YAML.load(yaml, deserialize_symbols: false)
+ else
+ {}
+ end
end
end