diff --git a/ruby/creator.rb b/ruby/creator.rb index 04e44b9..c943e26 100644 --- a/ruby/creator.rb +++ b/ruby/creator.rb @@ -1,8 +1,17 @@ -#!/usr/bin/env ruby -require 'pp' require 'yaml' -require 'erb' hash = YAML::load(File.open(ARGV[0]).read) -template = open('template.erb', 'r') {|f| f.read} -puts ERB.new(template, 0, '<>').result + +def flatten_hash(my_hash, parent=[]) + my_hash.flat_map do |key, value| + case value + when Hash then flatten_hash( value, parent+[key] ) + else line = [(parent+[key]).join('')] + out = "#{line}" + out = out[2..-3] + print "$config#{out} = #{value};""\n" + end + end +end + +flatten_hash(hash)