AnnotationsAnalyzer::analyzeValuesFromDocblock()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 14
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 10
CRAP Score 3

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
c 1
b 0
f 0
dl 0
loc 14
ccs 10
cts 10
cp 1
rs 9.9666
cc 3
nc 3
nop 1
crap 3
1
<?php declare(strict_types=1);
2
namespace SpareParts\Enum\Mapping;
3
4
class AnnotationsAnalyzer
5
{
6
7
    /**
8
     * @return string[]
9
     */
10 7
    public function analyzeValuesFromDocblock(string $classdocblock): array
11
    {
12 7
        $classdocblock = explode("\n", $classdocblock);
13
14 7
        $values = [];
15 7
        foreach ($classdocblock as $docLine) {
16 7
            preg_match_all('/^\s*\*\s*@method(\W+(\w+))+/', $docLine, $matches);
17 7
            if ($matches[0]) {
18 5
                $match = array_pop($matches);
19 5
                $value = reset($match);
20 7
                $values[] = $value;
21
            }
22
        }
23 7
        return $values;
24
    }
25
}