ConnectionAction   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
dl 0
loc 42
rs 10
c 0
b 0
f 0
wmc 2
lcom 1
cbo 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 7 1
A handleConnect() 0 18 1
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