Completed
Pull Request — master (#4)
by James Ekow Abaka
03:06 queued 36s
created

MustacheEngineFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 7
dl 0
loc 16
ccs 0
cts 8
cp 0
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A create() 0 7 1
A __construct() 0 3 1
1
<?php
2
3
namespace ntentan\honam\factories;
4
5
use Mustache_Engine;
6
use ntentan\honam\engines\AbstractEngine;
7
use ntentan\honam\engines\mustache\MustacheLoader;
8
use ntentan\honam\engines\mustache\MustachePartialsLoader;
9
use ntentan\honam\engines\MustacheEngine;
10
use ntentan\honam\TemplateFileResolver;
11
12
13
class MustacheEngineFactory implements EngineFactoryInterface
14
{
15
    private $templateFileResolver;
16
17
    public function __construct(TemplateFileResolver $templateFileResolver)
18
    {
19
        $this->templateFileResolver = $templateFileResolver;
20
    }
21
22
    public function create() : AbstractEngine
23
    {
24
        $loaderMustache = new Mustache_Engine([
25
            'loader' => new MustacheLoader(), 'partials_loader' => new MustachePartialsLoader($this->templateFileResolver)]
26
        );
27
        $stringMustache = new Mustache_Engine(['partials_loader' => new MustachePartialsLoader($this->templateFileResolver)]);
28
        return new MustacheEngine($stringMustache, $loaderMustache);
29
    }
30
}
31