class AstTraverser

def flatten_pairs(pair, prefix: "")

def flatten_pairs(pair, prefix: "")
  pair.value.pairs.each_with_object({}) do |value_pair, h|
    if value_pair.value.type == :hash
      h.merge!(flatten_pairs(value_pair, prefix: "#{prefix}#{value_pair.key.value}-"))
    else
      h["#{prefix}#{value_pair.key.value}"] = value_pair.value.source
    end
  end
end