Module: MetzScan::Commands::Scan::SarifSeverity

Defined in:
lib/metz_scan/commands/scan/sarif_severity.rb

Constant Summary collapse

LEVEL_BY_SEVERITY =
{
  "error" => "error", "fatal" => "error",
  "warning" => "warning", "convention" => "warning", "refactor" => "warning",
  "info" => "note", "information" => "note"
}.freeze
LEVEL_RANK =
{ "note" => 0, "warning" => 1, "error" => 2 }.freeze

Class Method Summary collapse

Class Method Details

.highest_level(severities) ⇒ Object



20
21
22
23
# File 'lib/metz_scan/commands/scan/sarif_severity.rb', line 20

def highest_level(severities)
  severities.map { |severity| level_for(severity) }
            .max_by { |level| LEVEL_RANK.fetch(level, 1) }
end

.level_for(severity) ⇒ Object



16
17
18
# File 'lib/metz_scan/commands/scan/sarif_severity.rb', line 16

def level_for(severity)
  LEVEL_BY_SEVERITY.fetch(severity.to_s, "warning")
end