Completed
Push — master ( 89dc37...bcf621 )
by Ondrej
17s queued 10s
created

AnnotationsAnalyzer   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A analyzeValuesFromDocblock() 0 14 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
}