Completed
Push — develop ( b8005e...fd13fe )
by Freddie
03:18
created

SetterBuilder::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 5
c 1
b 0
f 0
nc 1
nop 2
dl 0
loc 9
ccs 6
cts 6
cp 1
crap 1
rs 10
1
<?php
2
3
namespace FlexPHP\Generator\Domain\Builders\Entity;
4
5
use FlexPHP\Generator\Domain\Builders\AbstractBuilder;
6
7
class SetterBuilder extends AbstractBuilder
8
{
9
    use TypeHintTrait;
10
11
    /**
12
     * @param array[] $data
13
     * @param array $config
14
     */
15 22
    public function __construct(array $data, array $config = [])
16
    {
17 22
        $name = (string)array_key_first($data);
18 22
        $typehint = $this->guessTypeHint($data[$name]);
19 22
        $setter = $this->getPascalCase($name);
20
21 22
        $_data = \compact('name', 'typehint', 'setter');
22
23 22
        parent::__construct($_data, $config);
24 22
    }
25
26 22
    public function getFileTemplate(): string
27
    {
28 22
        return 'Setter.php.twig';
29
    }
30
31 22
    public function getPathTemplate(): string
32
    {
33 22
        return \sprintf('%1$s/FlexPHP/Entity', parent::getPathTemplate());
34
    }
35
36 22
    public function build(): string
37
    {
38 22
        return rtrim(parent::build());
39
    }
40
}
41