Module: ConfigGenerator

Defined in:
lib/config_generator.rb,
lib/config_generator/version.rb

Defined Under Namespace

Classes: Data

Constant Summary collapse

VERSION =
"0.0.2"

Class Method Summary collapse

Class Method Details

.generate(value_file, template_files) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/config_generator.rb', line 21

def generate(value_file, template_files)
  template_files.each do |filename|
    erb = ERB.new(File.read(filename))
    table = CSV.table(value_file)
    table.each_with_index do |row, index|
      data = Data.new
      row.each do |key, value|
        data.instance_variable_set("@#{key}", value)
      end
      result = erb.result(data.binding)
      extname = File.extname(filename)
      output  = "#{File.basename(filename, extname)}_#{index}" \
        + (extname.empty? ? '' : "#{extname}")
      File.write(output, result)
    end
  end
end