package rules // Finding ist das Ergebnis einer einzelnen zutreffenden Regel. type Finding struct { RuleID string RuleVersion int Severity Severity Title string Fix string Sources []string } // Evaluate prüft alle Regeln gegen f und liefert ein Finding für jede // zutreffende Regel. Reihenfolge folgt der Reihenfolge von rules. func Evaluate(rules []Rule, f Facts) []Finding { var findings []Finding for _, r := range rules { if r.Condition.Matches(f) { findings = append(findings, Finding{ RuleID: r.ID, RuleVersion: r.Version, Severity: r.Severity, Title: r.Title, Fix: r.Fix, Sources: r.Sources, }) } } return findings }