Class: Fontist::ValidationReport

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/fontist/validation.rb

Overview

Validation report with summary statistics and individual results. Exportable to JSON/YAML via Lutaml::Model.

Instance Method Summary collapse

Instance Method Details

#calculate_summary!Object

Calculate summary statistics from results



56
57
58
59
60
61
62
63
64
65
66
67
68
# File 'lib/fontist/validation.rb', line 56

def calculate_summary!
  self.total_fonts = results.size
  self.valid_fonts = results.count(&:valid)
  self.invalid_fonts = total_fonts - valid_fonts

  times = results.map(&:time_taken).compact
  self.total_time = times.sum
  self.avg_time_per_font = times.empty? ? 0.0 : (total_time / times.size)
  self.min_time = times.min || 0.0
  self.max_time = times.max || 0.0

  self
end

#invalid_resultsObject

Get only invalid results



71
72
73
# File 'lib/fontist/validation.rb', line 71

def invalid_results
  results.reject(&:valid)
end

#valid_resultsObject

Get only valid results



76
77
78
# File 'lib/fontist/validation.rb', line 76

def valid_results
  results.select(&:valid)
end