#!/usr/bin/env ruby

def read_file(file_name)
  File.readlines(file_name).map(&:strip).reject(&:empty?)
end

def generate_san_config(ips, domains, emails)
  entries = []

  ips.each_with_index do |ip, i|
    entries << "IP.#{i} = #{ip}"
  end

  domains.each_with_index do |domain, i|
    entries << "DNS.#{i} = #{domain}"
  end

  emails.each_with_index do |email, i|
    entries << "email.#{i} = #{email}"
  end

  entries.join("\n")
end

def main
  ip_file = "vars/ips"
  domain_file = "vars/domains"
  email_file = "vars/emails"

  ips = read_file(ip_file)
  domains = read_file(domain_file)
  emails = read_file(email_file)

  return if ips.empty? && domains.empty? && emails.empty?

  san_config = generate_san_config(ips, domains, emails)

  puts san_config
end

if __FILE__ == $PROGRAM_NAME
  main
end

