class Pec::ConfigFile
Attributes
config_name[RW]
Public Class Methods
new(config_name)
click to toggle source
# File lib/pec/config_file.rb, line 5 def initialize(config_name) self.config_name = File.exist?("#{config_name}.erb") ? "#{config_name}.erb" : config_name end
Public Instance Methods
load()
click to toggle source
# File lib/pec/config_file.rb, line 9 def load base = read_file(config_name) include_files = YAML.load(base).to_hash.find{|k,v| k.match(/^includes$/) && !v.nil? } inc = include_files ? include_files[1].map {|f| read_file(f)}.join("\n") : "" YAML.load(base + inc) end
read_file(file_name)
click to toggle source
# File lib/pec/config_file.rb, line 16 def read_file(file_name) if File.exist?(file_name) case when file_name.match(/.erb$/) erb = ERB.new(File.read(file_name), nil, '%-') erb.result when file_name.match(/.yaml$/) || file_name.match(/.yml$/) File.read(file_name) else raise "not match file type must be yaml or erb" end else raise " #{file_name} not exiets!" end end