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



7
8
9
10
11
12
13
14
15
# File 'lib/archspec/evaluator.rb', line 7

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 do |diagnostic|
    [diagnostic.location.path, diagnostic.location.line, diagnostic.rule,
     diagnostic.message]
  end
end