GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Push — master ( e30cbf...f60278 )
by Christian
01:38
created

Artist::createImagesFromApi()   A

Complexity

Conditions 3
Paths 2

Size

Total Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 12
rs 9.8666
c 0
b 0
f 0
cc 3
nc 2
nop 1
1
<?php
2
3
declare(strict_types=1);
4
5
/*
6
 * (c) Christian Gripp <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Core23\LastFm\Model;
13
14
final class Artist
15
{
16
    /**
17
     * @var string
18
     */
19
    private $name;
20
21
    /**
22
     * @var string|null
23
     */
24
    private $mbid;
25
26
    /**
27
     * @var Image[]
28
     */
29
    private $image;
30
31
    /**
32
     * @var string|null
33
     */
34
    private $url;
35
36
    /**
37
     * @param string      $name
38
     * @param string|null $mbid
39
     * @param Image[]     $image
40
     * @param string|null $url
41
     */
42
    public function __construct(string $name, ?string $mbid, array $image, ?string $url)
43
    {
44
        $this->name  = $name;
45
        $this->mbid  = $mbid;
46
        $this->image = $image;
47
        $this->url   = $url;
48
    }
49
50
    /**
51
     * @return string
52
     */
53
    public function getName(): string
54
    {
55
        return $this->name;
56
    }
57
58
    /**
59
     * @return string|null
60
     */
61
    public function getMbid(): ?string
62
    {
63
        return $this->mbid;
64
    }
65
66
    /**
67
     * @return Image[]
68
     */
69
    public function getImage(): array
70
    {
71
        return $this->image;
72
    }
73
74
    /**
75
     * @return string|null
76
     */
77
    public function getUrl(): ?string
78
    {
79
        return $this->url;
80
    }
81
82
    /**
83
     * @param array $data
84
     *
85
     * @return Artist
86
     */
87
    public static function fromApi(array $data): self
88
    {
89
        $images = self::createImagesFromApi($data);
90
91
        return new self(
92
            $data['name'] ?? $data['#text'],
93
            $data['mbid'] ?? null,
94
            $images,
95
            $data['url'] ?? null
96
        );
97
    }
98
99
    /**
100
     * @param array $data
101
     *
102
     * @return array
103
     */
104
    private static function createImagesFromApi(array $data): array
105
    {
106
        $images = [];
107
108
        if (\array_key_exists('image', $data)) {
109
            foreach ((array) $data['image'] as $image) {
110
                $images[] = new Image($image['#text']);
111
            }
112
        }
113
114
        return $images;
115
    }
116
}
117