Passed
Pull Request — master (#9)
by
unknown
03:46
created

Generic::__construct()   B

Complexity

Conditions 7
Paths 48

Size

Total Lines 20
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 14
CRAP Score 7.0145

Importance

Changes 0
Metric Value
eloc 14
c 0
b 0
f 0
dl 0
loc 20
ccs 14
cts 15
cp 0.9333
rs 8.8333
cc 7
nc 48
nop 3
crap 7.0145
1
<?php
2
namespace Akkroo\Error;
3
4
use Exception;
5
6
class Generic extends Exception
7
{
8
    protected $code = 400;
9
    protected $message = 'Bad Request';
10
    protected $requestID = null;
11
12 15
    public function __construct($message = '', $code = 0, array $body = [])
13
    {
14 15
        if (empty($message)) {
15 5
            $message = $this->message;
16
        }
17 15
        if (empty($code)) {
18 6
            $code = $this->code;
19
        }
20 15
        parent::__construct($message, $code);
21 15
        if (!empty($body['data']['error'])) {
22 6
            $message = isset($body['data']['error']['message'])
23 6
                ? $body['data']['error']['message']
24 6
                : $body['data']['error'];
25 6
            $this->message .= ' (' . $message . ')';
26
        }
27 15
        if (!empty($body['data']['error_description'])) {
28
            $this->message .= ': ' . $body['data']['error_description'];
29
        }
30 15
        if (!empty($body['requestID'])) {
31 4
            $this->requestID = $body['requestID'];
32
        }
33 15
    }
34
35 3
    public function getRequestID()
36
    {
37 3
        return $this->requestID;
38
    }
39
}
40