FinderRuleWithoutModulePrefix   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 18
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 11
c 0
b 0
f 0
dl 0
loc 18
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A buildClassCandidate() 0 16 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Gacela\Framework\ClassResolver\ClassNameFinder\Rule;
6
7
use Gacela\Framework\ClassResolver\ClassInfo;
8
use Override;
9
10
use function sprintf;
11
12
final class FinderRuleWithoutModulePrefix implements FinderRuleInterface
13
{
14
    #[Override]
15
    public function buildClassCandidate(string $projectNamespace, string $resolvableType, ClassInfo $classInfo): string
16
    {
17
        if ($projectNamespace !== '') {
18
            return sprintf(
19
                '\\%s\\%s\\%s',
20
                trim($projectNamespace, '\\'),
21
                $classInfo->getModuleName(),
22
                $resolvableType,
23
            );
24
        }
25
26
        return sprintf(
27
            '\\%s\\%s',
28
            $classInfo->getModuleName(),
29
            $resolvableType,
30
        );
31
    }
32
}
33