Passed
Push — master ( 77a570...adeb98 )
by Nico
26:43
created

RetrofitConsequence   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Test Coverage

Coverage 22.22%

Importance

Changes 0
Metric Value
eloc 8
dl 0
loc 21
ccs 2
cts 9
cp 0.2222
rs 10
c 0
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A triggerSpecific() 0 14 2
A __construct() 0 4 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Stu\Module\Ship\Lib\Movement\Component\Consequence\Flight;
6
7
use Override;
0 ignored issues
show
Bug introduced by
The type Override was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
8
use Stu\Component\Ship\Retrofit\CancelRetrofitInterface;
9
use Stu\Module\Ship\Lib\Message\MessageCollectionInterface;
10
use Stu\Module\Ship\Lib\Message\MessageFactoryInterface;
11
use Stu\Module\Ship\Lib\Movement\Component\Consequence\AbstractFlightConsequence;
12
use Stu\Module\Ship\Lib\Movement\Route\FlightRouteInterface;
13
use Stu\Module\Ship\Lib\ShipWrapperInterface;
14
15
class RetrofitConsequence extends AbstractFlightConsequence
16
{
17 1
    public function __construct(
18
        private CancelRetrofitInterface $cancelRetrofit,
19
        private MessageFactoryInterface $messageFactory
20 1
    ) {}
21
22
    #[Override]
23
    protected function triggerSpecific(
24
        ShipWrapperInterface $wrapper,
25
        FlightRouteInterface $flightRoute,
26
        MessageCollectionInterface $messages
27
    ): void {
28
29
        $ship = $wrapper->get();
30
31
        if ($ship->isUnderRetrofit()) {
32
            $message = $this->messageFactory->createMessage(null, $ship->getUser()->getId());
33
            $messages->add($message);
34
            $this->cancelRetrofit->cancelRetrofit($ship);
35
            $message->add(sprintf(_('Der Umbau der %s wurde abgebrochen'), $ship->getName()));
36
        }
37
    }
38
}