Completed
Push — master ( 613d98...fa04c9 )
by Rémi
20:40
created

SerializingConsumer::consume()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 9
rs 9.6666
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 2
1
<?php
2
3
namespace Burrow\Consumer;
4
5
use Burrow\QueueConsumer;
6
use Burrow\Serializer;
7
8
class SerializingConsumer implements QueueConsumer
9
{
10
    /** @var QueueConsumer */
11
    private $consumer;
12
13
    /** @var Serializer */
14
    private $serializer;
15
16
    /**
17
     * SerializingConsumer constructor.
18
     *
19
     * @param QueueConsumer $consumer
20
     * @param Serializer    $serializer
21
     */
22
    public function __construct(QueueConsumer $consumer, Serializer $serializer)
23
    {
24
        $this->consumer = $consumer;
25
        $this->serializer = $serializer;
26
    }
27
28
    /**
29
     * Consumes a message.
30
     *
31
     * @param mixed    $message
32
     * @param string[] $headers
33
     *
34
     * @return string
35
     */
36
    public function consume($message, array $headers = [])
37
    {
38
        return $this->serializer->serialize(
39
            $this->consumer->consume(
40
                $this->serializer->deserialize($message),
41
                $headers
42
            )
43
        );
44
    }
45
}
46