Completed
Push — v4.0-dev ( cf9811...d63e52 )
by
unknown
65:08 queued 50:10
created

FileSystemRenderTemplate::renderTemplate()   A

Complexity

Conditions 4
Paths 3

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 5
nc 3
nop 2
dl 0
loc 9
rs 9.2
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
    public function __construct(array $render_sets) {
12
        $this->render_sets = $render_sets;
13
    }
14
15
    public function renderTemplate(Plates\Template $template, Plates\RenderTemplate $rt = null) {
16
        foreach ($this->render_sets as list($match, $render)) {
17
            if ($match($template)) {
18
                return $render->renderTemplate($template, $rt ?: $this);
19
            }
20
        }
21
22
        throw new Plates\Exception\RenderTemplateException('No renderer was available for the template: ' . $template->name);
23
    }
24
}
25