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

eliashaeussler / version-bumper / 12732389673

12 Jan 2025 09:41AM UTC coverage: 78.07% (-10.7%) from 88.745%
12732389673

Pull #17

github

web-flow
Merge 7067c19b1 into 0b06fcb19
Pull Request #17: [!!!][FEATURE] Introduce config presets

8 of 105 new or added lines in 6 files covered. (7.62%)

4 existing lines in 1 file now uncovered.

623 of 798 relevant lines covered (78.07%)

3.73 hits per line

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

0.0
/src/Config/Preset/PresetFactory.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-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\VersionBumper\Config\Preset;
25

26
use EliasHaeussler\VersionBumper\Exception;
27

28
/**
29
 * PresetFactory.
30
 *
31
 * @author Elias Häußler <elias@haeussler.dev>
32
 * @license GPL-3.0-or-later
33
 */
34
final class PresetFactory
35
{
36
    private const PRESETS = [
37
        NpmPackagePreset::class,
38
        Typo3ExtensionPreset::class,
39
    ];
40

41
    /**
42
     * @param array<string, mixed> $options
43
     *
44
     * @throws Exception\PresetDoesNotExist
45
     */
NEW
46
    public function get(string $name, array $options = []): Preset
×
47
    {
NEW
48
        foreach (self::PRESETS as $presetClass) {
×
NEW
49
            if ($presetClass::getIdentifier() === $name) {
×
NEW
50
                return new $presetClass($options);
×
51
            }
52
        }
53

NEW
54
        throw new Exception\PresetDoesNotExist($name);
×
55
    }
56
}
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

© 2026 Coveralls, Inc