Completed
Push — master ( 253917...6bb17d )
by Antoine
08:29
created

CanRenderValidatorFactory::__invoke()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 12
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 12
ccs 0
cts 7
cp 0
rs 9.4285
cc 1
eloc 5
nc 1
nop 1
crap 2
1
<?php
2
/**
3
 * @copyright Interactive Solutions
4
 */
5
6
declare(strict_types=1);
7
8
namespace Roave\EmailTemplates\Factory\Validator;
9
10
use Roave\EmailTemplates\Service\Template\Engine\EngineInterface;
11
use Roave\EmailTemplates\Service\Template\EnginePluginManager;
12
use Roave\EmailTemplates\Validator\CanRenderValidator;
13
use Roave\EmailTemplates\Options\TemplateServiceOptions;
14
use Zend\Validator\ValidatorPluginManager;
15
use Zend\Validator\ValidatorPluginManagerAwareInterface;
16
17
final class CanRenderValidatorFactory
18
{
19
    public function __invoke(ValidatorPluginManager $manager): CanRenderValidator
20
    {
21
        $container = $manager->getServiceLocator();
22
23
        /* @var $options TemplateServiceOptions */
24
        $options = $container->get(TemplateServiceOptions::class);
25
26
        /* @var $engineContainer ContainerInterface */
27
        $engineContainer = $container->get(EnginePluginManager::class);
28
29
        return new CanRenderValidator($engineContainer->get($options->getEngine()));
30
    }
31
}
32