Passed
Push — master ( 41af4b...49b1dd )
by
unknown
45s queued 10s
created

Generic   A

Complexity

Total Complexity 8

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Test Coverage

Coverage 93.33%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 8
eloc 19
c 1
b 0
f 0
dl 0
loc 32
ccs 14
cts 15
cp 0.9333
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
B __construct() 0 20 7
A getRequestID() 0 3 1
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
                ? $body['data']['error']['message']
24 15
                : $body['data']['error'];
25
            $this->message .= ' (' . $message . ')';
26
        }
27 15
        if (!empty($body['data']['error_description'])) {
28 5
            $this->message .= ': ' . $body['data']['error_description'];
29
        }
30 15
        if (!empty($body['requestID'])) {
31
            $this->requestID = $body['requestID'];
32 3
        }
33
    }
34 3
35
    public function getRequestID()
36
    {
37
        return $this->requestID;
38
    }
39
}
40