class Dentaku::FlatHash

def self.from_hash_with_intermediates(h, key = [], acc = {})

def self.from_hash_with_intermediates(h, key = [], acc = {})
  acc.update(key => h) unless key.empty?
  return unless h.is_a? Hash
  h.each { |k, v| from_hash_with_intermediates(v, key + [k], acc) }
  flatten_keys(acc)
end