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

eliashaeussler / version-bumper / 24362442800

13 Apr 2026 07:24PM UTC coverage: 76.092% (-11.9%) from 87.996%
24362442800

Pull #125

github

eliashaeussler
[FEATURE] Introduce actions
Pull Request #125: [FEATURE] Introduce actions

71 of 258 new or added lines in 20 files covered. (27.52%)

3 existing lines in 3 files now uncovered.

923 of 1213 relevant lines covered (76.09%)

4.14 hits per line

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

0.0
/src/Version/ActionDispatcher.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-2026 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;
25

26
use EliasHaeussler\VersionBumper\Config;
27
use EliasHaeussler\VersionBumper\Result;
28
use Symfony\Component\Console;
29

30
/**
31
 * ActionDispatcher.
32
 *
33
 * @author Elias Häußler <elias@haeussler.dev>
34
 * @license GPL-3.0-or-later
35
 */
36
final readonly class ActionDispatcher
37
{
NEW
38
    public function __construct(
×
39
        private string $rootPath,
40
        private Console\Output\OutputInterface $output = new Console\Output\ConsoleOutput(),
NEW
41
    ) {}
×
42

43
    /**
44
     * @param list<Action\Action> $actions
45
     */
NEW
46
    public function dispatchAll(array $actions, Config\FileToModify $sourceFile): Result\ActionExecutionResult
×
47
    {
NEW
48
        return $this->dispatch(new Action\ActionCollection($actions), $sourceFile);
×
49
    }
50

NEW
51
    public function dispatch(Action\Action $action, Config\FileToModify $sourceFile): Result\ActionExecutionResult
×
52
    {
NEW
53
        return $action->execute($this->rootPath, $sourceFile, $this->output);
×
54
    }
55
}
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