7
8
9
10
11
12
13
14
15
16
|
# File 'lib/archspec/evaluator.rb', line 7
def evaluate(definition, graph, todo: Todo.empty)
(parser_diagnostics(graph) + definition.rules.flat_map { |rule| rule.evaluate(graph) })
.reject { |diagnostic| graph.suppressed?(diagnostic) }
.reject { |diagnostic| todo.include?(diagnostic) }
.sort_by do |diagnostic|
[diagnostic.location.path, diagnostic.location.line, diagnostic.rule,
diagnostic.message, diagnostic.evidence]
end
.uniq { |diagnostic| [diagnostic.rule, diagnostic.message, diagnostic.location.path, diagnostic.location.line] }
end
|