SecurityRequirement::toNative()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
4
namespace Apie\OpenapiSchema\Spec;
5
6
use Apie\ValueObjects\ValueObjectInterface;
7
8
/**
9
 * @see https://swagger.io/specification/#security-requirement-object
10
 */
11
class SecurityRequirement implements ValueObjectInterface
12
{
13
    /**
14
     * @var string[][]
15
     */
16
    private $securityRequirementArray;
17
18
    public static function fromNative($value)
19
    {
20
        return new SecurityRequirement($value);
21
    }
22
23
    public function toNative()
24
    {
25
        return $this->securityRequirementArray;
26
    }
27
28
    public function __construct(iterable $value)
29
    {
30
        $this->securityRequirementArray = [];
31
        foreach ($value as $name => $securityRequirements) {
32
            $list = [];
33
            foreach ($securityRequirements as $securityRequirement) {
34
                $list[] = (string) $securityRequirement;
35
            }
36
            $this->securityRequirementArray[$name] = $list;
37
        }
38
    }
39
}
40