Passed
Push — master ( 67cef4...aa4e87 )
by Alec
02:11
created

DoesProcessException::throwOnError()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 2
dl 0
loc 4
ccs 0
cts 3
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 2
1
<?php
2
/**
3
 * User: alec
4
 * Date: 28.12.18
5
 * Time: 15:21
6
 */
7
8
namespace AlecRabbit\Traits;
9
10
trait DoesProcessException
11
{
12
    /** @var bool */
13
    protected $throwOnError = true;
14
15
    /** @return self */
16 1
    public function doNotThrowOnError(): self
17
    {
18 1
        $this->throwOnError = false;
19 1
        return $this;
20
    }
21
22
    /** @return self */
23
    public function throwOnError(): self
24
    {
25
        $this->throwOnError = true;
26
        return $this;
27
    }
28
29
    /**
30
     * @param \Throwable $e
31
     * @throws \Throwable
32
     */
33 2
    protected function processException(\Throwable $e): void
34
    {
35 2
        if ($this->throwOnError) {
36 1
            throw $e;
37
        }
38 1
        $hasDumpFunction = \function_exists('dump');
39 1
        if (\defined('APP_DEBUG') && APP_DEBUG) {
40 1
            if (\defined('DEBUG_DUMP_EXCEPTION') && DEBUG_DUMP_EXCEPTION) {
41 1
                $exceptionMessage = '[' . \get_class($e) . '] ' . $e->getMessage();
42 1
                if ($hasDumpFunction) {
43 1
                    dump($exceptionMessage, $e->getTraceAsString());
44
                } else {
45
                    // @codeCoverageIgnoreStart
46
                    var_dump($exceptionMessage, $e->getTraceAsString());
1 ignored issue
show
Security Debugging Code introduced by
var_dump($exceptionMessa...$e->getTraceAsString()) looks like debug code. Are you sure you do not want to remove it?
Loading history...
47
                    // @codeCoverageIgnoreEnd
48
                }
49
            }
50 1
            if (\defined('DEBUG_DUMP_EXCEPTION_CLASS') && DEBUG_DUMP_EXCEPTION_CLASS) {
51 1
                if ($hasDumpFunction) {
52 1
                    dump($e);
53
                } else {
54
                    // @codeCoverageIgnoreStart
55
                    var_dump($e);
56
                    // @codeCoverageIgnoreEnd
57
                }
58
            }
59
        }
60 1
    }
61
62
    public function doesThrowsOnError(): bool
63
    {
64
        return $this->throwOnError;
65
    }
66
}
67