OnClientConnectedHandler::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 7
ccs 3
cts 3
cp 1
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 2
crap 1
1
<?php
2
/**
3
 * OnClientConnectedHandler.php
4
 *
5
 * @copyright      More in license.md
6
 * @license        http://www.ipublikuj.eu
7
 * @author         Adam Kadlec http://www.ipublikuj.eu
8
 * @package        iPublikuj:WebSocketSession!
9
 * @subpackage     Events
10
 * @since          1.0.0
11
 *
12
 * @date           19.02.17
13
 */
14
15
declare(strict_types = 1);
16
17
namespace IPub\WebSocketsSession\Events;
18
19
use Nette;
20
use Nette\Security as NS;
21
22
use IPub;
23
use IPub\WebSocketsSession\Session;
24
25
use IPub\WebSockets\Entities as WebSocketsEntities;
26
use IPub\WebSockets\Http as WebSocketsHttp;
27
28
/**
29
 * This component will allow access to session data from your Nette Framework website for each user connected
30
 *
31
 * @package        iPublikuj:WebSocketSession!
32
 * @subpackage     Events
33
 *
34
 * @author         Adam Kadlec <[email protected]>
35
 */
36 1
final class OnClientConnectedHandler
37
{
38
	/**
39
	 * Implement nette smart magic
40
	 */
41 1
	use Nette\SmartObject;
42
43
	/**
44
	 * @var Session\SwitchableSession
45
	 */
46
	private $session;
47
48
	/**
49
	 * @var NS\User
50
	 */
51
	private $user;
52
53
	/**
54
	 * @param Session\SwitchableSession $session
55
	 * @param NS\User $user
56
	 */
57
	public function __construct(
58
		Session\SwitchableSession $session,
59
		NS\User $user
60
	) {
61 1
		$this->session = $session;
62 1
		$this->user = $user;
63 1
	}
64
65
	/**
66
	 * @param WebSocketsEntities\Clients\IClient $client
67
	 * @param WebSocketsHttp\IRequest $httpRequest
68
	 *
69
	 * @return void
70
	 */
71
	public function __invoke(WebSocketsEntities\Clients\IClient $client, WebSocketsHttp\IRequest $httpRequest)
72
	{
73
		$client->setUser(clone $this->user);
74
	}
75
}
76