DefaultTemplateResolver::getTemplate()   B
last analyzed

Complexity

Conditions 9
Paths 9

Size

Total Lines 29
Code Lines 25

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 24
CRAP Score 9

Importance

Changes 1
Bugs 0 Features 1
Metric Value
cc 9
eloc 25
c 1
b 0
f 1
nc 9
nop 1
dl 0
loc 29
ccs 24
cts 24
cp 1
crap 9
rs 8.0555
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: Giansalex
5
 * Date: 16/02/2019
6
 * Time: 21:25.
7
 */
8
9
namespace Greenter\Report\Resolver;
10
11
use Greenter\Model\DocumentInterface;
12
13
class DefaultTemplateResolver implements TemplateResolverInterface
14
{
15
    /**
16
     * @param DocumentInterface $document
17
     *
18
     * @return string
19
     *
20
     * @throws \Exception
21
     */
22 9
    public function getTemplate($document)
23
    {
24 9
        $className = get_class($document);
25
        switch ($className) {
26 9
            case \Greenter\Model\Sale\Invoice::class:
27 8
            case \Greenter\Model\Sale\Note::class:
28 2
                $name = 'invoice';
29 2
                break;
30 7
            case \Greenter\Model\Retention\Retention::class:
31 1
                $name = 'retention';
32 1
                break;
33 6
            case \Greenter\Model\Perception\Perception::class:
34 1
                $name = 'perception';
35 1
                break;
36 5
            case \Greenter\Model\Despatch\Despatch::class:
37 1
                $name = 'despatch';
38 1
                break;
39 4
            case \Greenter\Model\Summary\Summary::class:
40 1
                $name = 'summary';
41 1
                break;
42 3
            case \Greenter\Model\Voided\Voided::class:
43 2
            case \Greenter\Model\Voided\Reversion::class:
44 2
                $name = 'voided';
45 2
                break;
46
            default:
47 1
                throw new \Exception('Not found template for '.$className);
48
        }
49
50 8
        return $name.'.html.twig';
51
    }
52
}
53