Passed
Push — master ( 0db193...9534e6 )
by Rob
04:00
created

Country   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 49
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 20
dl 0
loc 49
rs 10
c 0
b 0
f 0
wmc 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A setLocalName() 0 4 1
A detect() 0 13 5
A process() 0 8 2
A setRealScore() 0 6 2
1
<?php
2
3
namespace devtoolboxuk\cerberus\Wrappers;
4
5
class Country extends Base
6
{
7
8
    private $detected = 0;
9
10
    public function process()
11
    {
12
        $this->initWrapper($this->setLocalName());
13
        $this->detect();
14
15
        if ($this->detected > 0) {
16
            $this->setScore($this->score);
17
            $this->setResult();
18
        }
19
    }
20
21
    private function setLocalName()
22
    {
23
        $name = str_replace(__NAMESPACE__ . '\\', '', __CLASS__);
24
        return str_replace('Wrapper', '', $name);
25
    }
26
27
    private function detect()
28
    {
29
        $params = $this->getParams();
30
31
        if (empty($params)) {
32
            return;
33
        }
34
35
        foreach ($params as $param) {
36
            if ($param != '') {
37
                $data = explode(":", $param);
38
                if (strpos(strtolower($this->sanitizeReference()), strtolower($data[0])) !== false) {
39
                    $this->setRealScore($data);
40
                }
41
            }
42
        }
43
    }
44
45
    /**
46
     * @param array $data
47
     */
48
    private function setRealScore($data = [])
49
    {
50
        $this->overRideScore($data);
51
52
        if ($this->score > 0) {
53
            $this->detected++;
54
        }
55
    }
56
57
}