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

eliashaeussler / composer-update-check / 11500247089

24 Oct 2024 01:23PM UTC coverage: 20.327%. First build
11500247089

Pull #130

github

renovate[bot]
[TASK] Update php-http/httplug to v2.4.1

| datasource | package          | from  | to    |
| ---------- | ---------------- | ----- | ----- |
| packagist  | php-http/httplug | 2.4.0 | 2.4.1 |
Pull Request #130: [!!!][FEATURE] Modernize plugin

347 of 1809 new or added lines in 56 files covered. (19.18%)

373 of 1835 relevant lines covered (20.33%)

1.09 hits per line

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

0.0
/src/Configuration/Options/PackageExcludePattern.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-2024 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\Configuration\Options;
25

26
use function fnmatch;
27
use function preg_match;
28
use function str_starts_with;
29

30
/**
31
 * PackageExcludePattern.
32
 *
33
 * @author Elias Häußler <elias@haeussler.dev>
34
 * @license GPL-3.0-or-later
35
 */
36
final class PackageExcludePattern
37
{
38
    /**
39
     * @var callable(string): bool
40
     */
41
    private $matchFunction;
42

43
    /**
44
     * @param callable(string): bool $matchFunction
45
     */
NEW
46
    private function __construct(callable $matchFunction)
×
47
    {
NEW
48
        $this->matchFunction = $matchFunction;
×
49
    }
50

NEW
51
    public static function create(string $pattern): self
×
52
    {
NEW
53
        if (str_starts_with($pattern, '/') || str_starts_with($pattern, '#')) {
×
NEW
54
            return self::byRegularExpression($pattern);
×
55
        }
56

NEW
57
        return self::byName($pattern);
×
58
    }
59

NEW
60
    public static function byName(string $name): self
×
61
    {
NEW
62
        return new self(
×
NEW
63
            static fn (string $packageName) => fnmatch($name, $packageName),
×
NEW
64
        );
×
65
    }
66

NEW
67
    public static function byRegularExpression(string $regex): self
×
68
    {
NEW
69
        return new self(
×
NEW
70
            static fn (string $packageName) => 1 === preg_match($regex, $packageName),
×
NEW
71
        );
×
72
    }
73

NEW
74
    public function matches(string $packageName): bool
×
75
    {
NEW
76
        return ($this->matchFunction)($packageName);
×
77
    }
78
}
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