Module: Olyx::Guardrails::PolicyComponents::MatchCollector

Defined in:
lib/olyx/guardrails/policy/match_collector.rb

Overview

Collects, deduplicates, and orders private policy matches.

Class Method Summary collapse

Class Method Details

.call(source, rules) ⇒ Object



13
14
15
16
# File 'lib/olyx/guardrails/policy/match_collector.rb', line 13

def call(source, rules)
  findings = rules.each_with_index.flat_map { |rule, index| RuleMatcher.call(source, rule, index) }
  findings.uniq { |finding| FindingOrder.identity(finding) }.sort_by { |finding| FindingOrder.key(finding) }
end