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

eliashaeussler / composer-update-check / 11496630150

24 Oct 2024 09:35AM UTC coverage: 20.327%. Remained the same
11496630150

Pull #157

github

web-flow
[TASK] Update peaceiris/actions-gh-pages action to v4

| datasource  | package                    | from | to |
| ----------- | -------------------------- | ---- | -- |
| github-tags | peaceiris/actions-gh-pages | v3   | v4 |
Pull Request #157: [TASK] Update peaceiris/actions-gh-pages action to v4

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
     */
46
    private function __construct(callable $matchFunction)
×
47
    {
48
        $this->matchFunction = $matchFunction;
×
49
    }
50

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

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

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

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

74
    public function matches(string $packageName): bool
×
75
    {
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