module ConfigToEnv

Public Class Methods

flat_hash?(hash) click to toggle source
# File lib/config_to_env.rb, line 30
def self.flat_hash?(hash)
  hash.collect do |k,v|
    return false if !ConfigToEnv.is_value?(v)
  end
end
flatten_hash(hash) click to toggle source

Take a hash, and flatten it down to a simple key/value pair hash

# File lib/config_to_env.rb, line 6
def self.flatten_hash(hash)
  
  if ConfigToEnv.flat_hash?(hash)
    return hash
  else
    # Perform single level flatten
    processed_hash = {}
    hash.each do |k,v|
      if ConfigToEnv.is_value?(v)
        processed_hash[k] = v
      else
        v.each do |l,w|
          processed_hash[k + '_' + l] = w
        end
      end
    end
    return ConfigToEnv.flatten_hash(processed_hash)
  end
end
is_value?(node) click to toggle source
# File lib/config_to_env.rb, line 26
def self.is_value?(node)
  !node.respond_to?(:each)
end