Stats::dataOrZero()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 1
nc 2
nop 2
dl 0
loc 3
rs 10
c 1
b 0
f 0
1
<?php
2
3
4
namespace App\Src\UseCases\Domain\Users;
5
6
7
class Stats
8
{
9
    private $stats;
10
11
    private $fields = [
12
        'number_contributions',
13
        'number_questions',
14
        'number_answers',
15
        'number_votes',
16
        'number_validations',
17
        'number_wiki_edit',
18
        'number_contributions_last_30_days'
19
    ];
20
21
    public function __construct(array $data)
22
    {
23
        foreach ($this->fields as $field){
24
            $this->stats[$field] = $this->dataOrZero($field, $data);
25
        }
26
    }
27
28
    private function dataOrZero(string $key, array $data):int
29
    {
30
        return isset($data[$key]) ? $data[$key] : 0;
31
    }
32
33
    public function toArray():array
34
    {
35
        return $this->stats;
36
    }
37
}
38