Module: ArchSpec::Evaluator

Extended by:
Evaluator
Included in:
Evaluator
Defined in:
lib/archspec/evaluator.rb

Instance Method Summary collapse

Instance Method Details

#evaluate(definition, graph, baseline: Baseline.empty) ⇒ Object



5
6
7
8
9
10
# File 'lib/archspec/evaluator.rb', line 5

def evaluate(definition, graph, baseline: Baseline.empty)
  (parser_diagnostics(graph) + definition.rules.flat_map { |rule| rule.evaluate(graph) })
    .reject { |diagnostic| graph.suppressed?(diagnostic) }
    .reject { |diagnostic| baseline.include?(diagnostic) }
    .sort_by { |diagnostic| [diagnostic.location.path, diagnostic.location.line, diagnostic.rule, diagnostic.message] }
end