Completed
Push — master ( 00d376...cc54a0 )
by Veaceslav
01:15
created

OptionalExtensions::getExtensions()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 8
ccs 4
cts 4
cp 1
rs 10
c 0
b 0
f 0
cc 2
nc 2
nop 0
crap 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Aweapi\Openapi\Builders\Properties;
6
7
use Aweapi\Openapi\Extensions;
8
9
trait OptionalExtensions
10
{
11
    private $extensions = [];
12
13 23
    public function addExtensions(iterable $extensions): self
14
    {
15 23
        foreach ($extensions as $name => $value) {
16 23
            $this->setExtension($name, $value);
17
        }
18
19 23
        return $this;
20
    }
21
22
    public function clearExtensions(): self
23
    {
24
        $this->extensions = [];
25
26
        return $this;
27
    }
28
29
    /**
30
     * @param mixed $value
31
     */
32 23
    public function setExtension(string $name, $value): self
33
    {
34 23
        $this->extensions[$name] = $value;
35
36 23
        return $this;
37
    }
38
39 66
    private function getExtensions(): ?Extensions
40
    {
41 66
        if (empty($this->extensions)) {
42 59
            return null;
43
        }
44
45 23
        return new Extensions($this->extensions);
46
    }
47
}
48