ConnectionAction::handleConnect()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 18
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 12
nc 1
nop 1
dl 0
loc 18
rs 9.4285
c 0
b 0
f 0
1
<?php
2
namespace Buttress\IRC\Action;
3
4
use Buttress\IRC\Connection\ConnectionInterface;
5
use Buttress\IRC\Message\GenericMessage;
6
use Buttress\IRC\Message\MessageInterface;
7
8
class ConnectionAction extends  AbstractAction
9
{
10
11
    protected $nick;
12
    protected $channel;
13
    protected $loginName;
14
    protected $realName;
15
16
    public function __construct($nick, $channel, $login_name = "buttress-irc", $real_name = "buttress-irc")
17
    {
18
        $this->nick = $nick;
19
        $this->channel = $channel;
20
        $this->loginName = $login_name;
21
        $this->realName = $real_name;
22
    }
23
24
    /**
25
     * Handle Connection
26
     *
27
     * @param ConnectionInterface $connection
28
     * @return mixed
29
     */
30
    public function handleConnect(ConnectionInterface $connection)
31
    {
32
        $nick_message = new GenericMessage('NICK', '', array($this->nick));
33
34
        $user_message = new GenericMessage(
35
            'USER', '', array(
36
                $this->loginName,
37
                'Host',
38
                'Server',
39
                $this->realName
40
            ));
41
42
        $join_message = new GenericMessage('JOIN', '', array($this->channel));
43
44
        $connection->sendMessage($nick_message);
45
        $connection->sendMessage($user_message);
46
        $connection->sendMessage($join_message);
47
    }
48
49
}
50