Passed
Push — master ( 8cd431...bc71f5 )
by Janko
09:12
created

GetTargetWrapperTrait   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Test Coverage

Coverage 42.86%

Importance

Changes 2
Bugs 1 Features 0
Metric Value
eloc 7
dl 0
loc 17
ccs 3
cts 7
cp 0.4286
rs 10
c 2
b 1
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A getTargetWrapper() 0 14 2
1
<?php
2
3
namespace Stu\Component\Spacecraft\System\Control;
4
5
use Stu\Module\Control\GameControllerInterface;
6
use Stu\Module\Spacecraft\Lib\SpacecraftLoaderInterface;
7
use Stu\Module\Spacecraft\Lib\SpacecraftWrapperInterface;
8
use Stu\Orm\Entity\User;
9
10
trait GetTargetWrapperTrait
11
{
12
    /** @param SpacecraftLoaderInterface<SpacecraftWrapperInterface> $spacecraftLoader*/
13 3
    protected function getTargetWrapper(
14
        SpacecraftWrapperInterface|int $target,
15
        bool $allowUplink,
16
        SpacecraftLoaderInterface $spacecraftLoader,
17
        GameControllerInterface $game
18
    ): SpacecraftWrapperInterface {
19 3
        if ($target instanceof SpacecraftWrapperInterface) {
20 3
            return $target;
21
        }
22
23
        return $spacecraftLoader->getWrapperByIdAndUser(
24
            $target,
25
            $game->getUser()->getId(),
26
            $allowUplink
27
        );
28
    }
29
}
30