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

eliashaeussler / version-bumper / 11860111625

15 Nov 2024 04:45PM UTC coverage: 66.911% (-21.1%) from 88.054%
11860111625

Pull #12

github

web-flow
Merge f526460ea into 70d8e62f5
Pull Request #12: [FEATURE] Introduce version range detector component

9 of 173 new or added lines in 14 files covered. (5.2%)

1 existing line in 1 file now uncovered.

457 of 683 relevant lines covered (66.91%)

2.6 hits per line

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

0.0
/src/Version/RangeDetection/CommitMessagesRangeDetection.php
1
<?php
2

3
declare(strict_types=1);
4

5
/*
6
 * This file is part of the Composer package "eliashaeussler/version-bumper".
7
 *
8
 * Copyright (C) 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\VersionBumper\Version\RangeDetection;
25

26
use EliasHaeussler\VersionBumper\Config;
27
use EliasHaeussler\VersionBumper\Enum;
28

29
use function preg_match;
30

31
/**
32
 * CommitMessagesRangeDetection.
33
 *
34
 * @author Elias Häußler <elias@haeussler.dev>
35
 * @license GPL-3.0-or-later
36
 */
37
final class CommitMessagesRangeDetection implements RangeDetection
38
{
39
    /**
40
     * @param list<string> $commitMessages
41
     */
NEW
42
    public function __construct(
×
43
        private readonly array $commitMessages,
NEW
44
    ) {}
×
45

NEW
46
    public function matches(Config\VersionRangePattern $pattern): bool
×
47
    {
NEW
48
        foreach ($this->commitMessages as $commitMessage) {
×
NEW
49
            if (1 === preg_match($pattern->pattern(), $commitMessage)) {
×
NEW
50
                return true;
×
51
            }
52
        }
53

NEW
54
        return false;
×
55
    }
56

NEW
57
    public function supports(Config\VersionRangePattern $pattern): bool
×
58
    {
NEW
59
        return Enum\VersionRangeIndicatorType::CommitMessage === $pattern->type();
×
60
    }
61
}
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