SecurityRequirementBuilder   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 5
lcom 1
cbo 1
dl 0
loc 37
ccs 14
cts 14
cp 1
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A addItems() 0 8 2
A createSecurityRequirement() 0 6 1
A setItem() 0 11 1
A getItems() 0 4 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Aweapi\Openapi\Builders;
6
7
use Aweapi\Openapi\Objects;
8
9
final class SecurityRequirementBuilder implements Objects\SecurityRequirementFactory
10
{
11
    private $items = [];
12
13 1
    public function addItems(iterable $variables): self
14
    {
15 1
        foreach ($variables as $key => $requirement) {
16 1
            $this->setItem($key, $requirement);
17
        }
18
19 1
        return $this;
20
    }
21
22 5
    public function createSecurityRequirement(): Objects\SecurityRequirement
23
    {
24 5
        return new Objects\SecurityRequirement(
25 5
            $this->getItems()
26
        );
27
    }
28
29 4
    public function setItem(string $name, array $requirement): self
30
    {
31 4
        $this->items[$name] = array_map(
32
            function (string $scope): string {
33 4
                return $scope;
34 4
            },
35
            $requirement
36
        );
37
38 4
        return $this;
39
    }
40
41 5
    private function getItems(): iterable
42
    {
43 5
        return $this->items;
44
    }
45
}
46