Passed
Push — master ( 782176...fdfe0b )
by Peter
44s
created

Champion::createFromArray()   B

Complexity

Conditions 1
Paths 1

Size

Total Lines 26
Code Lines 23

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 23
CRAP Score 1

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 26
ccs 23
cts 23
cp 1
rs 8.8571
cc 1
eloc 23
nc 1
nop 2
crap 1
1
<?php
2
3
namespace PtrTn\Battlerite\Dto\Player;
4
5
/**
6
 * @SuppressWarnings(PHPMD.TooManyFields)
7
 */
8
class Champion
9
{
10
    /**
11
     * @var string
12
     */
13
    public $devName;
14
15
    /**
16
     * @var int|null
17
     */
18
    public $xp;
19
20
    /**
21
     * @var int|null
22
     */
23
    public $level;
24
25
    /**
26
     * @var mixed|null
27
     */
28
    public $wins;
29
30
    /**
31
     * @var mixed|null
32
     */
33
    public $losses;
34
35
    /**
36
     * @var mixed|null
37
     */
38
    public $kills;
39
40
    /**
41
     * @var mixed|null
42
     */
43
    public $deaths;
44
45
    /**
46
     * @var mixed|null
47
     */
48
    public $timePlayed;
49
50
    /**
51
     * @var mixed|null
52
     */
53
    public $ranked2v2Wins;
54
55
    /**
56
     * @var mixed|null
57
     */
58
    public $ranked2v2Losses;
59
60
    /**
61
     * @var mixed|null
62
     */
63
    public $ranked3v3Wins;
64
65
    /**
66
     * @var mixed|null
67
     */
68
    public $ranked3v3Losses;
69
70
    /**
71
     * @var mixed|null
72
     */
73
    public $unranked2v2Wins;
74
75
    /**
76
     * @var mixed|null
77
     */
78
    public $unranked2v2Losses;
79
80
    /**
81
     * @var mixed|null
82
     */
83
    public $unranked3v3Wins;
84
85
    /**
86
     * @var mixed|null
87
     */
88
    public $unranked3v3Losses;
89
90
    /**
91
     * @var mixed|null
92
     */
93
    public $brawlWins;
94
95
    /**
96
     * @var mixed|null
97
     */
98
    public $brawlLosses;
99
100
    /**
101
     * @var mixed|null
102
     */
103
    public $battlegroundsWins;
104
105
    /**
106
     * @var mixed|null
107
     */
108
    public $battlegroundsLosses;
109
110 1
    private function __construct()
111
    {
112 1
    }
113
114 1
    public static function createFromArray(string $championName, array $championStats): self
115
    {
116 1
        $champ = new self();
117 1
        $champ->devName = $championName;
118 1
        $champ->xp = $championStats['XP'] ?? null;
119 1
        $champ->level = $championStats['Level'] ?? null;
120 1
        $champ->wins = $championStats['Wins'] ?? null;
121 1
        $champ->losses = $championStats['Losses'] ?? null;
122 1
        $champ->kills = $championStats['Kills'] ?? null;
123 1
        $champ->deaths = $championStats['Deaths'] ?? null;
124 1
        $champ->timePlayed = $championStats['TimePlayed'] ?? null;
125 1
        $champ->ranked2v2Wins = $championStats['Ranked2v2Wins'] ?? null;
126 1
        $champ->ranked2v2Losses = $championStats['Ranked2v2Losses'] ?? null;
127 1
        $champ->ranked3v3Wins = $championStats['Ranked3v3Wins'] ?? null;
128 1
        $champ->ranked3v3Losses = $championStats['Ranked3v3Losses'] ?? null;
129 1
        $champ->unranked2v2Wins = $championStats['Unranked2v2Wins'] ?? null;
130 1
        $champ->unranked2v2Losses = $championStats['Unranked2v2Losses'] ?? null;
131 1
        $champ->unranked3v3Wins = $championStats['Unranked3v3Wins'] ?? null;
132 1
        $champ->unranked3v3Losses = $championStats['Unranked3v3Losses'] ?? null;
133 1
        $champ->brawlWins = $championStats['BrawlWins'] ?? null;
134 1
        $champ->brawlLosses = $championStats['BrawlLosses'] ?? null;
135 1
        $champ->battlegroundsWins = $championStats['BattlegroundsWins'] ?? null;
136 1
        $champ->battlegroundsLosses = $championStats['BattlegroundsLosses'] ?? null;
137
138 1
        return $champ;
139
    }
140
}
141