def summarize_errors_and_warnings(enw, header)
return "" if enw.empty?
f = StringIO.new
erval = Hash.new { |h,k| h[k] = Array.new }
wval = Hash.new { |h,k| h[k] = Array.new }
enw.each do |fname, warnings, errors|
errors.each do |c,m,v|
erval[v] << [fname, c, m]
end
warnings.each do |c,m,v|
wval[v] << [fname, c, m]
end
end
f.puts "<h2 class=\"class_name\">Errors and Warnings</h2>"
f.puts "<table width=\"100%\" border=\"1\">"
f.puts header
f.puts print_summary_table_rows(erval, "error")
f.puts print_summary_table_rows(wval, "warning")
f.puts "</table>"
f.string
end