PhpDocGenerator   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
eloc 8
dl 0
loc 23
ccs 9
cts 9
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getGeneratorFqcn() 0 3 1
A generateForProperty() 0 16 3
1
<?php
2
3
namespace Er1z\FakeMock\Generator;
4
5
use Er1z\FakeMock\FakeMock;
6
use Er1z\FakeMock\Metadata\FieldMetadata;
7
8
class PhpDocGenerator extends AttachableGeneratorAbstract
9
{
10 11
    protected function getGeneratorFqcn($simpleClassName)
11
    {
12 11
        return sprintf('Er1z\\FakeMock\\Generator\\PhpDocGenerator\\%s', $simpleClassName);
13
    }
14
15 19
    public function generateForProperty(FieldMetadata $field, FakeMock $fakemock, ?string $group = null)
16
    {
17 19
        if (!$field->type) {
18 12
            return null;
19
        }
20
21 7
        $baseClass = new \ReflectionClass($field->type);
22
23
        /**
24
         * @var $generator \Er1z\FakeMock\Generator\PhpDocGenerator\GeneratorInterface
25
         */
26 7
        if ($generator = $this->getGenerator($baseClass->getShortName())) {
27 4
            return $generator->generateForProperty($field, $this->fakerRegistry->getGeneratorForField($field));
28
        }
29
30 3
        return null;
31
    }
32
}
33