class CukeCataloger::TextReportFormatter

Not a part of the public API. Subject to change at any time.

Public Instance Methods

format_data(data) click to toggle source

Formats validation results into a readable text report

# File lib/cuke_cataloger/formatters/text_report_formatter.rb, line 7
def format_data(data)
  report_text = "Validation Results\nProblems found: #{data.count}\n\n"


  results_by_category = Hash.new { |hash, key| hash[key] = [] }

  data.each do |result|
    results_by_category[result[:problem]] << result
  end

  results_by_category.keys.each do |problem_category|
    report_text << "#{problem_category} problems: #{results_by_category[problem_category].count}\n"
  end

  results_by_category.keys.each do |problem_category|
    report_text << "\n\n#{problem_category} problems (#{results_by_category[problem_category].count}):\n"

    results_by_category[problem_category].each do |result|
      report_text << "#{result[:test]}\n"
    end
  end

  report_text
end