Passed
Pull Request — master (#41)
by Thomas
02:55
created

Error::__construct()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 3

Importance

Changes 0
Metric Value
dl 0
loc 11
ccs 7
cts 7
cp 1
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 6
nc 4
nop 4
crap 3
1
<?php
2
3
namespace ORM\Dbal;
4
5
use ORM\Dbal\Column;
6
use ORM\EntityManager;
7
use ORM\Exception;
8
use ORM\Namer;
9
10
class Error extends Exception
11
{
12
    const ERROR_CODE = 'UNKNOWN';
13
14
    /** @var string */
15
    protected $message = 'ERROR(%code%) occurred';
16
17
    /** @var string */
18
    protected $errorCode;
19
20
    /**
21
     * Error constructor
22
     *
23
     * @param array $params
24
     * @param null  $code
25
     * @param null  $message
26
     * @param Error $previous
27
     */
28 39
    public function __construct(array $params = [], $code = null, $message = null, Error $previous = null)
29
    {
30 39
        $this->message = $message ?: $this->message;
31 39
        $this->code = $code ?: static::ERROR_CODE;
32
33 39
        $params['code'] = $this->code;
34
35 39
        $namer = EntityManager::getInstance()->getNamer();
36
37 39
        parent::__construct($namer->substitute($this->message, $params), 0, $previous);
38 39
    }
39
}
40