FileSystemRenderTemplate::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 1
dl 0
loc 3
ccs 3
cts 3
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace League\Plates\RenderTemplate;
4
5
use League\Plates;
6
7
final class FileSystemRenderTemplate implements Plates\RenderTemplate
8
{
9
    private $render_sets;
10
11 32
    public function __construct(array $render_sets) {
12 32
        $this->render_sets = $render_sets;
13 32
    }
14
15 32
    public function renderTemplate(Plates\Template $template, Plates\RenderTemplate $rt = null) {
16 32
        foreach ($this->render_sets as list($match, $render)) {
17 28
            if ($match($template)) {
18 28
                return $render->renderTemplate($template, $rt ?: $this);
19
            }
20
        }
21
22 4
        throw new Plates\Exception\RenderTemplateException('No renderer was available for the template: ' . $template->name);
23
    }
24
}
25