Configure   A
last analyzed

Complexity

Total Complexity 9

Size/Duplication

Total Lines 94
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 21
dl 0
loc 94
rs 10
c 0
b 0
f 0
wmc 9

9 Methods

Rating   Name   Duplication   Size   Complexity  
A fromArray() 0 6 1
A setProjectName() 0 3 1
A getProjectGroup() 0 3 1
A getProjectName() 0 3 1
A toArray() 0 6 1
A setProjectGroup() 0 3 1
A getRegistryDomainName() 0 3 1
A __construct() 0 5 1
A setRegistryDomainName() 0 3 1
1
<?php
2
3
namespace TheAentMachine\AentGitLabCI\Event\Model;
4
5
use TheAentMachine\Aent\Payload\JsonPayloadInterface;
6
7
final class Configure implements JsonPayloadInterface
8
{
9
    /** @var string */
10
    private $registryDomainName;
11
12
    /** @var string */
13
    private $projectGroup;
14
15
    /** @var string */
16
    private $projectName;
17
18
    /**
19
     * GitLabCIContext constructor.
20
     * @param string $registryDomainName
21
     * @param string $projectGroup
22
     * @param string $projectName
23
     */
24
    public function __construct(string $registryDomainName, string $projectGroup, string $projectName)
25
    {
26
        $this->registryDomainName = $registryDomainName;
27
        $this->projectGroup = $projectGroup;
28
        $this->projectName = $projectName;
29
    }
30
31
    /**
32
     * @return array<string,string>
33
     */
34
    public function toArray(): array
35
    {
36
        return [
37
            'REGISTRY_DOMAIN_NAME' => $this->registryDomainName,
38
            'PROJECT_GROUP' => $this->projectGroup,
39
            'PROJECT_NAME' => $this->projectName,
40
        ];
41
    }
42
43
    /**
44
     * @param array<string,string> $assoc
45
     * @return self
46
     */
47
    public static function fromArray(array $assoc): self
48
    {
49
        $registryDomainName = $assoc['REGISTRY_DOMAIN_NAME'];
50
        $projectGroup = $assoc['PROJECT_GROUP'];
51
        $projectName = $assoc['PROJECT_NAME'];
52
        return new self($registryDomainName, $projectGroup, $projectName);
53
    }
54
55
    /**
56
     * @return string
57
     */
58
    public function getRegistryDomainName(): string
59
    {
60
        return $this->registryDomainName;
61
    }
62
63
    /**
64
     * @param string $registryDomainName
65
     */
66
    public function setRegistryDomainName(string $registryDomainName): void
67
    {
68
        $this->registryDomainName = $registryDomainName;
69
    }
70
71
    /**
72
     * @return string
73
     */
74
    public function getProjectGroup(): string
75
    {
76
        return $this->projectGroup;
77
    }
78
79
    /**
80
     * @param string $projectGroup
81
     */
82
    public function setProjectGroup(string $projectGroup): void
83
    {
84
        $this->projectGroup = $projectGroup;
85
    }
86
87
    /**
88
     * @return string
89
     */
90
    public function getProjectName(): string
91
    {
92
        return $this->projectName;
93
    }
94
95
    /**
96
     * @param string $projectName
97
     */
98
    public function setProjectName(string $projectName): void
99
    {
100
        $this->projectName = $projectName;
101
    }
102
}
103