OnResponseHandler   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 100%

Importance

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

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 1
		$this->storage = $storage;
43 1
	}
44
45
	/**
46
	 * @return void
47
	 */
48
	public function __invoke() : void
49
	{
50
		/** @var Entities\IMessage[] $messages */
51 1
		$messages = $this->storage->get(Storage\IStorage::KEY_MESSAGES, []);
52
53 1
		foreach ($messages as $key => $message) {
54 1
			if ($message->isDisplayed()) {
55 1
				unset($messages[$key]);
56
			}
57
		}
58
59
		// Update messages in session
60 1
		$this->storage->set(Storage\IStorage::KEY_MESSAGES, $messages);
61 1
	}
62
}
63