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.

Unit::findByField()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 1
Metric Value
c 2
b 0
f 1
dl 0
loc 7
rs 9.4285
cc 1
eloc 4
nc 1
nop 2
1
<?php namespace Xaoc303\BattleCalc;
2
3
//use Illuminate\Support\Facades\Config;
4
5
/**
6
 * Class Unit
7
 * @package Xaoc303\BattleCalc
8
 */
9
class Unit
10
{
11
    /**
12
     * @var int
13
     */
14
    public $id;
15
16
    /**
17
     * @var int
18
     */
19
    public $race_id;
20
21
    /**
22
     * @var int
23
     */
24
    public $init;
25
26
    /**
27
     * @var int
28
     */
29
    public $type;
30
31
    /**
32
     * @var int
33
     */
34
    public $bio;
35
36
    /**
37
     * @var int
38
     */
39
    public $shield;
40
41
    /**
42
     * @var int
43
     */
44
    public $armor;
45
46
    /**
47
     * @var int
48
     */
49
    public $hp;
50
51
    /**
52
     * @var int
53
     */
54
    public $mround;
55
56
    /**
57
     * @var int
58
     */
59
    public $cool;
60
61
    /**
62
     * @var int
63
     */
64
    public $attack_ter;
65
66
    /**
67
     * @var int
68
     */
69
    public $attack_air;
70
71
    /**
72
     * @var int
73
     */
74
    public $attack_magic;
75
76
    /**
77
     * @var null|string
78
     */
79
    public $magic1;
80
81
    /**
82
     * @var null|string
83
     */
84
    public $magic2;
85
86
    /**
87
     * @var null|string
88
     */
89
    public $magic3;
90
91
    /**
92
     * findById
93
     *
94
     * @param int $id
95
     * @return null|Unit
96
     */
97
    public function findById($id)
98
    {
99
        $unit = $this->findByField('id', $id);
100
        if (empty($unit)) {
101
            return null;
102
        }
103
104
        $unit = array_shift($unit);
105
        if (empty($unit)) {
106
            return null;
107
        }
108
109
        return $this->create($unit);
110
    }
111
112
    /**
113
     * findByRaceId
114
     *
115
     * @param int $id
116
     * @return array|null
117
     */
118
    public function findByRaceId($id)
119
    {
120
        $units = $this->findByField('race_id', $id);
121
        if (empty($units)) {
122
            return null;
123
        }
124
125
        $return_units = [];
126
        foreach ($units as $unit) {
127
            $return_units[] = $this->create($unit);
128
        }
129
        return $return_units;
130
    }
131
132
    /**
133
     * findByField
134
     *
135
     * @param string $field_key
136
     * @param mixed $field_value
137
     * @return array
138
     */
139
    private function findByField($field_key, $field_value)
140
    {
141
        $units = $this->getUnits();
142
        return array_where($units, function ($key, $value) use ($field_key, $field_value) {
143
            return $value[$field_key] == $field_value;
144
        });
145
    }
146
147
    /**
148
     * getUnits
149
     *
150
     * @return array
151
     */
152
    public function getUnits()
153
    {
154
        return Config::get('battle-calc::units');
155
    }
156
157
    /**
158
     * create
159
     *
160
     * @param array $unit_params
161
     * @return null|Unit
162
     */
163
    private function create($unit_params)
164
    {
165
        $vars = get_class_vars(get_class($this));
166
167
        $unit = new Unit();
168
        foreach ($unit_params as $key => $value) {
169
            if (! array_key_exists($key, $vars)) {
170
                return null;
171
            }
172
173
            $unit->$key = $value;
174
        }
175
        return $unit;
176
    }
177
}
178