module ConfigGenerator

Constants

VERSION

Public Class Methods

generate(value_file, template_files) click to toggle source
# 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

Private Instance Methods

generate(value_file, template_files) click to toggle source
# 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