Class: SvgConform::QualityMetrics::QualityReportFormatter

Inherits:
Object
  • Object
show all
Defined in:
lib/svg_conform/quality_metrics/quality_report_formatter.rb

Overview

Formats quality results into various output formats.

Examples:

CSV output

formatter = QualityReportFormatter.new
csv = formatter.format_csv(results)

JSON output

json = formatter.format_json(results)

Constant Summary collapse

CSV_HEADERS =
%w[
  file_path quality_score quality_level error_count
  remediable_errors non_remediable_errors
  critical_errors high_errors medium_errors low_errors
  element_count file_size_kb complexity_index
  content_health size_category
  has_base64 has_foreign_ns has_masks has_clip_paths has_external_refs
].freeze

Instance Method Summary collapse

Instance Method Details

#format_csv(results) ⇒ String

Format results as CSV

Parameters:

Returns:



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/svg_conform/quality_metrics/quality_report_formatter.rb', line 29

def format_csv(results)
  return "" if results.empty?

  CSV.generate do |csv|
    csv << CSV_HEADERS

    results.each do |result|
      csv << CSV_HEADERS.map { |h| format_csv_value(result, h) }
    end
  end
end

#format_json(results) ⇒ String

Format results as JSON

Parameters:

Returns:



44
45
46
47
48
# File 'lib/svg_conform/quality_metrics/quality_report_formatter.rb', line 44

def format_json(results)
  require "json"

  results.map(&:to_h).to_json
end