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

AdditionalPropertySetter   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 14
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 10
dl 0
loc 14
ccs 7
cts 7
cp 1
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 12 1
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
}