Group   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 77
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 18
c 1
b 0
f 0
dl 0
loc 77
ccs 0
cts 19
cp 0
rs 10
wmc 6

6 Methods

Rating   Name   Duplication   Size   Complexity  
A getId() 0 3 1
A getWebUrl() 0 3 1
A getAvatarUrl() 0 3 1
A __construct() 0 10 1
A fromArray() 0 7 1
A getName() 0 3 1
1
<?php declare(strict_types=1);
2
3
namespace DanielPieper\MergeReminder\ValueObject;
4
5
class Group
6
{
7
    /** @var int */
8
    private $id;
9
10
    /** @var string */
11
    private $name;
12
13
    /** @var string */
14
    private $avatarUrl;
15
16
    /** @var string */
17
    private $webUrl;
18
19
    /**
20
     * Project constructor.
21
     * @param int $id
22
     * @param string $name
23
     * @param string $avatarUrl
24
     * @param string $webUrl
25
     */
26
    public function __construct(
27
        int $id,
28
        string $name,
29
        string $avatarUrl,
30
        string $webUrl
31
    ) {
32
        $this->id = $id;
33
        $this->name = $name;
34
        $this->avatarUrl = $avatarUrl;
35
        $this->webUrl = $webUrl;
36
    }
37
38
    /**
39
     * @param array $group
40
     * @return Group
41
     */
42
    public static function fromArray(array $group): self
43
    {
44
        return new self(
45
            (int)$group['id'],
46
            (string)$group['name'],
47
            (string)$group['avatar_url'],
48
            (string)$group['web_url']
49
        );
50
    }
51
52
    /**
53
     * @return int
54
     */
55
    public function getId(): int
56
    {
57
        return $this->id;
58
    }
59
60
    /**
61
     * @return string
62
     */
63
    public function getName(): string
64
    {
65
        return $this->name;
66
    }
67
68
    /**
69
     * @return string
70
     */
71
    public function getAvatarUrl(): string
72
    {
73
        return $this->avatarUrl;
74
    }
75
76
    /**
77
     * @return string
78
     */
79
    public function getWebUrl(): string
80
    {
81
        return $this->webUrl;
82
    }
83
}
84