Passed
Push — master ( c632e6...9034d7 )
by Dāvis
05:37
created

FlashAlertsHelper::resolveOptions()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace Sludio\HelperBundle\Flash\Helper;
4
5
use Sludio\HelperBundle\Flash\Model\AlertPublisher;
6
use Symfony\Component\Console\Helper\Helper;
7
use Symfony\Component\Templating\EngineInterface;
8
9
class FlashAlertsHelper extends Helper
10
{
11
    const TEMPLATE = 'SludioHelperBundle:Flash:layout.html.twig';
12
13
    private $templating;
14
    private $alertPublisher;
15
    private $options = [];
16
17
    public function __construct(EngineInterface $templating, AlertPublisher $alertPublisher, $template, $styles, $scripts)
18
    {
19
        $this->templating = $templating;
20
        $this->alertPublisher = $alertPublisher;
21
        $this->options = [
22
            'alert_use_styles' => $styles,
23
            'alert_use_scripts' => $scripts,
24
            'template' => $template
25
        ];
26
    }
27
28
    public function renderFlashAlerts(array $options = [])
29
    {
30
        $options = $this->resolveOptions($options);
31
32
        return $this->templating->render($options['template'], $options);
33
    }
34
35
    private function resolveOptions(array $options = [])
36
    {
37
        $this->options['alert_publisher'] = $this->alertPublisher;
38
39
        return array_merge($this->options, $options);
40
    }
41
42
    public function getName()
43
    {
44
        return 'sludio_helper.templating.alerts_helper';
45
    }
46
}
47