Completed
Push — master ( 0e6e64...9192b1 )
by Viacheslav
12s
created

AdditionalPropertySetter::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 9

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 9
nc 1
nop 1
dl 0
loc 12
ccs 7
cts 7
cp 1
crap 1
rs 9.9666
c 0
b 0
f 0
1
<?php
2
3
namespace Swaggest\PhpCodeBuilder\Property;
4
5
6
use Swaggest\PhpCodeBuilder\PhpAnyType;
7
use Swaggest\PhpCodeBuilder\PhpFlags;
8
use Swaggest\PhpCodeBuilder\PhpFunction;
9
use Swaggest\PhpCodeBuilder\PhpNamedVar;
10
use Swaggest\PhpCodeBuilder\PhpStdType;
11
12
class AdditionalPropertySetter extends PhpFunction
13
{
14 2
    public function __construct(PhpAnyType $type)
15
    {
16 2
        parent::__construct('setAdditionalPropertyValue', PhpFlags::VIS_PUBLIC);
17
18 2
        $this->addArgument(new PhpNamedVar('name', PhpStdType::string()));
19 2
        $this->addArgument(new PhpNamedVar('value', $type));
20
21 2
        $this->skipCodeCoverage = true;
22
23 2
        $this->setResult(PhpStdType::tSelf());
24 2
        $this->setBody(
25
            <<<'PHP'
26 2
$this->addAdditionalPropertyName($name);
27
$this->{$name} = $value;
28
return $this;
29
30
PHP
31
        );
32
    }
33
}