def run_through(hash, join_value)
      hash.map do |k,v|
        if v.is_a?(Hash)
          [k,run_through(v, join_value)].join(join_value)
        else #works for Symbols and Strings
          [k,v].join(join_value)
        end
      end.first
    end
def run_through(hash, join_value)
      hash.map do |k,v|
        if v.is_a?(Hash)
          [k,run_through(v, join_value)].join(join_value)
        else #works for Symbols and Strings
          [k,v].join(join_value)
        end
      end.first
    end
Takes a potentially nested hash element of a booty array and turns it into a string for a column header
 hash = {:a => {:b => {:c => {:d => {"e" => "fghi"}}}}}
 run_through(hash, '_')
 => "a_b_c_d_e_fghi"
 Ooooh so recursive!