RedisMessagePublisher::__construct()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 3
nc 1
nop 2
1
<?php
2
3
namespace Dekalee\RedisSwarrot\MessagePublisher;
4
5
use Swarrot\Broker\Message;
6
use Swarrot\Broker\MessagePublisher\MessagePublisherInterface;
7
8
/**
9
 * Class RedisMessagePublisher
10
 */
11
class RedisMessagePublisher implements MessagePublisherInterface
12
{
13
    private $channel;
14
    private $exchange;
15
16
    /**
17
     * @param \Redis $channel
18
     * @param string $exchange
19
     */
20
    public function __construct(\Redis $channel, $exchange)
21
    {
22
        $this->channel = $channel;
23
        $this->exchange = $exchange;
24
    }
25
26
    /**
27
     * publish.
28
     *
29
     * @param Message $message The message to publish
30
     * @param string  $key     A routing key to use
31
     */
32
    public function publish(Message $message, $key = null)
33
    {
34
        $this->channel->lPush($key, $message->getBody());
35
    }
36
37
    /**
38
     * getExchangeName.
39
     *
40
     * Return the name of the exchange where the message will be published
41
     *
42
     * @return string
43
     */
44
    public function getExchangeName()
45
    {
46
        return $this->exchange;
47
    }
48
}
49