Test Failed
Branch issue-17-add-allow-option (e1563c)
by Dominik
11:04
created

Dependency::getPackageName()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 4
c 0
b 0
f 0
dl 0
loc 9
rs 10
cc 2
nc 2
nop 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Dominikb\ComposerLicenseChecker;
6
7
class Dependency
8
{
9
    /** @var string */
10
    private $name;
11
12
    /** @var string */
13
    private $version;
14
15
    /** @var string[] */
16
    private $licenses;
17
18
    /**
19
     * Dependency constructor.
20
     *
21
     * @param string   $name
22
     * @param string   $version
23
     * @param string[] $licenses
24
     */
25
    public function __construct(string $name = '', string $version = '', array $licenses = [])
26
    {
27
        $this->name = $name;
28
        $this->version = $version;
29
        $this->licenses = $licenses;
30
    }
31
32
    /**
33
     * @return string
34
     */
35
    public function getName(): string
36
    {
37
        return $this->name;
38
    }
39
40
    /**
41
     * @param string $name
42
     */
43
    public function setName(string $name): self
44
    {
45
        $this->name = $name;
46
47
        return $this;
48
    }
49
50
    /**
51
     * @return string
52
     */
53
    public function getVersion(): string
54
    {
55
        return $this->version;
56
    }
57
58
    /**
59
     * @param string $version
60
     */
61
    public function setVersion(string $version): self
62
    {
63
        $this->version = $version;
64
65
        return $this;
66
    }
67
68
    /**
69
     * @return string[]
70
     */
71
    public function getLicenses(): array
72
    {
73
        return $this->licenses;
74
    }
75
76
    /**
77
     * @param string[] $licenses
78
     */
79
    public function setLicenses(array $licenses): self
80
    {
81
        $this->licenses = $licenses;
82
83
        return $this;
84
    }
85
86
    public function getAuthorName(): string
87
    {
88
        return explode('/', $this->name)[0];
89
    }
90
91
    public function getPackageName(): string
92
    {
93
        $parts = explode('/', $this->name);
94
95
        if (count($parts) != 2) {
96
            return '';
97
        }
98
99
        return $parts[1];
100
    }
101
}
102