Class: Fontisan::Models::AuditSummary

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/fontisan/models/audit_report.rb

Overview

Summary of validation issues by severity. Used by CI pipelines to decide pass/fail and by humans to gauge font health at a glance.

Class Method Summary collapse

Class Method Details

.from_issues(issues) ⇒ AuditSummary

Build a summary from an array of ValidationReport::Issue records.

Parameters:

Returns:



39
40
41
42
43
44
45
46
47
48
49
# File 'lib/fontisan/models/audit_report.rb', line 39

def self.from_issues(issues)
  counts = issues.group_by(&:severity).transform_values(&:size)
  new(
    error_count: counts["error"].to_i,
    warning_count: counts["warning"].to_i,
    info_count: counts["info"].to_i,
    fatal_count: counts["fatal"].to_i,
    total: issues.size,
    passed: counts["error"].to_i.zero? && counts["fatal"].to_i.zero?,
  )
end