Completed
Pull Request — master (#150)
by
unknown
02:30
created

ThrowableRenderer   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Test Coverage

Coverage 90.91%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 10
c 1
b 0
f 0
dl 0
loc 28
ccs 10
cts 11
cp 0.9091
rs 10
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setRequest() 0 3 1
A getThrowableName() 0 9 2
A convertThrowableToVerboseString() 0 5 1
1
<?php
2
namespace Yiisoft\Yii\Web\ErrorHandler;
3
4
use Psr\Http\Message\ServerRequestInterface;
5
use Yiisoft\FriendlyException\FriendlyExceptionInterface;
6
7
abstract class ThrowableRenderer implements ThrowableRendererInterface
8
{
9
    /**
10
     * @var ServerRequestInterface
11
     */
12
    protected $request;
13
14 3
    protected function getThrowableName(\Throwable $t): string
15
    {
16 3
        $name = get_class($t);
17
18 3
        if ($t instanceof FriendlyExceptionInterface) {
19
            $name = $t->getName() . ' (' . $name . ')';
20
        }
21
22 3
        return $name;
23
    }
24
25 3
    protected function convertThrowableToVerboseString(\Throwable $t): string
26
    {
27 3
        return $this->getThrowableName($t) . " with message '{$t->getMessage()}' \n\nin "
28 3
            . $t->getFile() . ':' . $t->getLine() . "\n\n"
29 3
            . "Stack trace:\n" . $t->getTraceAsString();
30
    }
31
32 1
    public function setRequest(ServerRequestInterface $request): void
33
    {
34 1
        $this->request = $request;
35
    }
36
}
37