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 ( 547017...c67bb4 )
by Christian
04:20
created

Song::getArtist()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 4
rs 10
cc 1
eloc 2
nc 1
nop 0
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 Song
15
{
16
    /**
17
     * @var string
18
     */
19
    private $name;
20
21
    /**
22
     * @var int|null
23
     */
24
    private $duration;
25
26
    /**
27
     * @var Artist|null
28
     */
29
    private $artist;
30
31
    /**
32
     * Song constructor.
33
     *
34
     * @param string      $name
35
     * @param int|null    $duration
36
     * @param Artist|null $artist
37
     */
38
    public function __construct(string $name, ?int $duration, ?Artist $artist)
39
    {
40
        $this->name     = $name;
41
        $this->duration = $duration;
42
        $this->artist   = $artist;
43
    }
44
45
    /**
46
     * @return string
47
     */
48
    public function getName(): string
49
    {
50
        return $this->name;
51
    }
52
53
    /**
54
     * @return int|null
55
     */
56
    public function getDuration(): ?int
57
    {
58
        return $this->duration;
59
    }
60
61
    /**
62
     * @return Artist|null
63
     */
64
    public function getArtist(): ?Artist
65
    {
66
        return $this->artist;
67
    }
68
69
    /**
70
     * @param array $data
71
     *
72
     * @return Song
73
     */
74
    public static function fromApi(array $data): self
75
    {
76
        $artist = isset($data['artist']) ? Artist::fromApi($data['artist']) : null;
77
78
        return new self(
79
            $data['name'],
80
            isset($data['duration']) ? (int) $data['duration'] : null,
81
            $artist
82
        );
83
    }
84
}
85