Passed
Pull Request — master (#507)
by
unknown
02:00
created

CodebaseEnvironmentResponse   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 44
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 26
dl 0
loc 44
rs 10
c 1
b 0
f 0
wmc 3

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 19 3
1
<?php
2
3
namespace AcquiaCloudApi\Response;
4
5
class CodebaseEnvironmentResponse
6
{
7
    public object $links;
8
9
    public string $id;
10
11
    public string $name;
12
13
    public string $label;
14
15
    public string $description;
16
17
    public string $status;
18
19
    public string $reference;
20
21
    public object $flags;
22
23
    /**
24
     * @var array<string, mixed> $properties
25
     */
26
    public array $properties;
27
28
    public object $codebase;
29
30
    public function __construct(object $environment)
31
    {
32
        $this->links = $environment->_links;
33
        $this->id = $environment->id;
34
        $this->name = $environment->name;
35
        $this->label = $environment->label;
36
        $this->description = $environment->description;
37
        $this->status = $environment->status;
38
        $this->reference = $environment->reference;
39
        $this->flags = $environment->flags;
40
        $this->properties = (array) ($environment->properties ?? []);
41
42
        // Handle embedded codebase or direct codebase reference
43
        if (isset($environment->_embedded->codebase)) {
44
            $this->codebase = $environment->_embedded->codebase;
45
        } elseif (isset($environment->codebase)) {
46
            $this->codebase = $environment->codebase;
47
        } else {
48
            $this->codebase = (object) [];
49
        }
50
    }
51
}
52