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.
Completed
Push — master ( 4a1f30...2946a1 )
by Martin
03:04
created

WhichBrowser::getName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 3
Bugs 0 Features 0
Metric Value
c 3
b 0
f 0
dl 0
loc 4
ccs 2
cts 2
cp 1
rs 10
cc 1
eloc 2
nc 1
nop 0
crap 1
1
<?php
2
namespace UserAgentParser\Provider;
3
4
use UserAgentParser\Exception;
5
use UserAgentParser\Model;
6
use WhichBrowser\Parser as WhichBrowserParser;
7
8
class WhichBrowser extends AbstractProvider
9
{
10
    /**
11
     * Used for unitTests mocking
12
     * @var WhichBrowserParser
13
     */
14
    private $parser;
15
16 1
    public function getName()
17
    {
18 1
        return 'WhichBrowser';
19
    }
20
21 2
    public function getComposerPackageName()
22
    {
23 2
        return 'whichbrowser/parser';
24
    }
25
26
    /**
27
     * @param  array              $headers
28
     * @return WhichBrowserParser
29
     */
30 8
    public function getParser(array $headers)
31
    {
32 8
        if ($this->parser !== null) {
33 7
            return $this->parser;
34
        }
35
36 1
        return new WhichBrowserParser($headers);
37
    }
38
39 7
    public function parse($userAgent, array $headers = [])
40
    {
41 7
        $headers['User-Agent'] = $userAgent;
42
43 7
        $parser = $this->getParser($headers);
44
45
        /*
46
         * No result found?
47
         */
48 7
        if ($parser->isDetected() !== true) {
49 1
            throw new Exception\NoResultFoundException('No result found for user agent: ' . $userAgent);
50
        }
51
52
        /*
53
         * Hydrate the model
54
         */
55 6
        $result = new Model\UserAgent();
56 6
        $result->setProviderResultRaw($parser->toArray());
57
58
        /*
59
         * Bot detection
60
         */
61 6
        if ($parser->getType() === 'bot') {
62 1
            $bot = $result->getBot();
63 1
            $bot->setIsBot(true);
64
65 1
            $name = $parser->browser->getName();
66 1
            if ($name !== '') {
67 1
                $bot->setName($name);
68
            }
69
70 1
            return $result;
71
        }
72
73
        /*
74
         * Browser
75
         */
76 5
        $browser = $result->getBrowser();
77
78 5
        $name = $parser->browser->getName();
79 5
        if ($name !== '') {
80 1
            $browser->setName($name);
81
82 1
            $version = $parser->browser->getVersion();
83 1
            if ($version !== '') {
84 1
                $browser->getVersion()->setComplete($version);
85
            }
86 5
        } elseif (isset($parser->browser->using)) {
87 1
            $name = $parser->browser->using->getName();
88 1
            if ($name !== '') {
89 1
                $browser->setName($name);
90
91 1
                $version = $parser->browser->using->getVersion();
92 1
                if ($version !== '') {
93 1
                    $browser->getVersion()->setComplete($version);
94
                }
95
            }
96
        }
97
98
        /*
99
         * renderingEngine
100
         */
101 5
        $renderingEngine = $result->getRenderingEngine();
102
103 5
        $name = $parser->engine->getName();
104 5
        if ($name !== '') {
105 1
            $renderingEngine->setName($name);
106
        }
107
108 5
        $version = $parser->engine->getVersion();
109 5
        if ($version !== '') {
110 1
            $renderingEngine->getVersion()->setComplete($version);
111
        }
112
113
        /*
114
         * operatingSystem
115
         */
116 5
        $operatingSystem = $result->getOperatingSystem();
117
118 5
        $name = $parser->os->getName();
119 5
        if ($name !== '') {
120 1
            $operatingSystem->setName($name);
121
        }
122
123 5
        $version = $parser->os->getVersion();
124 5
        if ($version !== '') {
125 1
            $operatingSystem->getVersion()->setComplete($version);
126
        }
127
128
        /*
129
         * device
130
         */
131 5
        $device = $result->getDevice();
132
133 5
        $model = $parser->device->getModel();
134 5
        if ($model !== '') {
135 1
            $device->setModel($model);
136
        }
137
138 5
        $brand = $parser->device->getManufacturer();
139 5
        if ($brand !== '') {
140 1
            $device->setBrand($brand);
141
        }
142
143 5
        $device->setType($parser->getType());
144
145 5
        if ($parser->isType('mobile', 'tablet', 'ereader', 'media', 'watch', 'camera', 'gaming:portable') === true) {
146 1
            $device->setIsMobile(true);
147
        }
148
149 5
        return $result;
150
    }
151
}
152