Passed
Push — main ( b4da1f...10c988 )
by Jesús
01:01 queued 16s
created

DocBlockParser   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Test Coverage

Coverage 90.91%

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A getClassFromMethod() 0 18 3
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Gacela\Framework\ClassResolver\DocBlockService;
6
7
final class DocBlockParser
8
{
9 24
    public function getClassFromMethod(string $docBlock, string $method): string
10
    {
11 24
        if ($docBlock === '') {
12 1
            return '';
13
        }
14
15 23
        if (strcasecmp(substr(PHP_OS, 0, 3), 'WIN') == 0) {
16
            $docBlock = str_replace("\n", PHP_EOL, $docBlock);
17
        }
18
19 23
        $lines = array_filter(
20 23
            explode(PHP_EOL, $docBlock),
21 23
            static fn (string $l) => str_contains($l, $method),
22 23
        );
23
        /** @psalm-suppress RedundantCast */
24 23
        $lineSplit = (array)explode(' ', (string)reset($lines));
25
26 23
        return $lineSplit[3] ?? '';
27
    }
28
}
29