Passed
Push — main ( 764702...024f60 )
by Daniel
04:19
created

Bootstrapper   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 7
c 1
b 0
f 0
dl 0
loc 20
ccs 0
cts 7
cp 0
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A bootstrap() 0 10 3
A __construct() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Uxmp\Core\Component\Setup;
6
7
use Ahc\Cli\IO\Interactor;
8
9
final class Bootstrapper implements BootstrapperInterface
10
{
11
    /**
12
     * @param array<Validator\ValidatorInterface> $validators
13
     */
14
    public function __construct(
15
        private array $validators
16
    ) {
17
    }
18
19
    public function bootstrap(
20
        Interactor $io
21
    ): void {
22
        foreach ($this->validators as $validator) {
23
            try {
24
                $validator->validate();
25
            } catch (Validator\Exception\ValidationException $e) {
26
                $io->error($e->getMessage(), true);
27
28
                break;
29
            }
30
        }
31
    }
32
}
33