CanRenderValidatorFactory::__invoke()   A
last analyzed

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
declare(strict_types=1);
6
7
namespace Roave\EmailTemplates\Factory\Validator;
8
9
use Roave\EmailTemplates\Service\Template\Engine\EngineInterface;
10
use Roave\EmailTemplates\Service\Template\EnginePluginManager;
11
use Roave\EmailTemplates\Validator\CanRenderValidator;
12
use Roave\EmailTemplates\Options\TemplateServiceOptions;
13
use Zend\Validator\ValidatorPluginManager;
14
use Zend\Validator\ValidatorPluginManagerAwareInterface;
15
16
final class CanRenderValidatorFactory
17
{
18
    public function __invoke(ValidatorPluginManager $manager): CanRenderValidator
19
    {
20
        $container = $manager->getServiceLocator();
21
22
        /* @var $options TemplateServiceOptions */
23
        $options = $container->get(TemplateServiceOptions::class);
24
25
        /* @var $engineContainer ContainerInterface */
26
        $engineContainer = $container->get(EnginePluginManager::class);
27
28
        return new CanRenderValidator($engineContainer->get($options->getEngine()));
29
    }
30
}
31