• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

eliashaeussler / composer-update-check / 15182034191

22 May 2025 03:06AM UTC coverage: 20.538%. First build
15182034191

Pull #130

github

web-flow
[TASK] Update all dependencies
Pull Request #130: [!!!][FEATURE] Modernize plugin

356 of 1832 new or added lines in 57 files covered. (19.43%)

382 of 1860 relevant lines covered (20.54%)

1.11 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/Entity/Security/SeverityLevel.php
1
<?php
2

3
declare(strict_types=1);
4

5
/*
6
 * This file is part of the Composer package "eliashaeussler/composer-update-check".
7
 *
8
 * Copyright (C) 2020-2025 Elias Häußler <elias@haeussler.dev>
9
 *
10
 * This program is free software: you can redistribute it and/or modify
11
 * it under the terms of the GNU General Public License as published by
12
 * the Free Software Foundation, either version 3 of the License, or
13
 * (at your option) any later version.
14
 *
15
 * This program is distributed in the hope that it will be useful,
16
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
 * GNU General Public License for more details.
19
 *
20
 * You should have received a copy of the GNU General Public License
21
 * along with this program. If not, see <https://www.gnu.org/licenses/>.
22
 */
23

24
namespace EliasHaeussler\ComposerUpdateCheck\Entity\Security;
25

26
use function usort;
27

28
/**
29
 * SeverityLevel.
30
 *
31
 * @author Elias Häußler <elias@haeussler.dev>
32
 * @license GPL-3.0-or-later
33
 *
34
 * @see https://nvd.nist.gov/vuln-metrics/cvss
35
 */
36
enum SeverityLevel: string
37
{
38
    case Low = 'low';
39
    case Medium = 'medium';
40
    case High = 'high';
41
    case Critical = 'critical';
42

NEW
43
    public function compareTo(self $other): int
×
44
    {
NEW
45
        return $this->getInternalLevel() <=> $other->getInternalLevel();
×
46
    }
47

NEW
48
    public static function getHighestSeverityLevel(self ...$severityLevels): self
×
49
    {
NEW
50
        usort($severityLevels, static fn (self $a, self $b) => $a->compareTo($b));
×
51

NEW
52
        $highestSeverityLevel = array_pop($severityLevels);
×
53

NEW
54
        if (null === $highestSeverityLevel) {
×
NEW
55
            return self::Low;
×
56
        }
57

NEW
58
        return $highestSeverityLevel;
×
59
    }
60

NEW
61
    private function getInternalLevel(): int
×
62
    {
NEW
63
        return match ($this) {
×
NEW
64
            self::Low => 1,
×
NEW
65
            self::Medium => 2,
×
NEW
66
            self::High => 3,
×
NEW
67
            self::Critical => 4,
×
NEW
68
        };
×
69
    }
70
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc