HasFlashesListener   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 5
c 2
b 0
f 0
lcom 1
cbo 3
dl 0
loc 24
ccs 13
cts 13
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A onKernelView() 0 14 4
1
<?php
2
3
namespace Zenstruck\ControllerUtil\EventListener;
4
5
use Symfony\Component\HttpFoundation\Session\Flash\FlashBagInterface;
6
use Symfony\Component\HttpKernel\Event\GetResponseForControllerResultEvent;
7
use Zenstruck\ControllerUtil\HasFlashes;
8
9
/**
10
 * @author Kevin Bond <[email protected]>
11
 */
12
class HasFlashesListener
13
{
14
    private $flashBag;
15
16 2
    public function __construct(FlashBagInterface $flashBag)
17
    {
18 2
        $this->flashBag = $flashBag;
19 2
    }
20
21 2
    public function onKernelView(GetResponseForControllerResultEvent $event)
22
    {
23 2
        $result = $event->getControllerResult();
24
25 2
        if (!$result instanceof HasFlashes) {
26 1
            return;
27
        }
28
29 1
        foreach ($result->getFlashes() as $type => $messages) {
30 1
            foreach ($messages as $message) {
31 1
                $this->flashBag->add($type, $message);
32 1
            }
33 1
        }
34 1
    }
35
}
36