Test Failed
Pull Request — master (#5)
by
unknown
02:17
created

OnResponseHandler   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 11.11%

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 2
dl 0
loc 33
rs 10
c 0
b 0
f 0
ccs 1
cts 9
cp 0.1111

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A __invoke() 0 14 3
1
<?php
2
/**
3
 * OnResponseHandler.php
4
 *
5
 * @copyright      More in license.md
6
 * @license        https://www.ipublikuj.eu
7
 * @author         Adam Kadlec <[email protected]>
8
 * @package        iPublikuj:FlashMessages!
9
 * @subpackage     Events
10
 * @since          1.0.0
11
 *
12
 * @date           06.02.15
13
 */
14
15
declare(strict_types = 1);
16
17
namespace IPub\FlashMessages\Events;
18
19
use IPub\FlashMessages\Entities;
20
use IPub\FlashMessages\Storage;
21
22
/**
23
 * Flash message storage events
24
 *
25
 * @package        iPublikuj:FlashMessages!
26
 * @subpackage     Events
27
 *
28
 * @author         Adam Kadlec <[email protected]>
29
 */
30 1
class OnResponseHandler
31
{
32
	/**
33
	 * @var Storage\IStorage
34
	 */
35
	private $storage;
36
37
	/**
38
	 * @param Storage\IStorage $storage
39
	 */
40
	public function __construct(Storage\IStorage $storage)
41
	{
42
		$this->storage = $storage;
43
	}
44
45
	/**
46
	 * @return void
47
	 */
48
	public function __invoke() : void
49
	{
50
		/** @var Entities\IMessage[] $messages */
51
		$messages = $this->storage->get(Storage\IStorage::KEY_MESSAGES, []);
52
53
		foreach ($messages as $key => $message) {
54
			if ($message->isDisplayed()) {
55
				unset($messages[$key]);
56
			}
57
		}
58
59
		// Update messages in session
60
		$this->storage->set(Storage\IStorage::KEY_MESSAGES, $messages);
61
	}
62
}
63