Completed
Pull Request — master (#1)
by Adam
05:22 queued 03:01
created

JsonSerializer::serialize()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 8
rs 9.4285
cc 1
eloc 5
nc 1
nop 1
1
<?php
2
3
namespace Equip\Queue\Serializer;
4
5
use Equip\Queue\Message;
6
7
class JsonSerializer implements MessageSerializerInterface
8
{
9
    /**
10
     * @inheritdoc
11
     */
12
    public function serialize(Message $message)
13
    {
14
        return json_encode([
15
            'queue' => $message->queue(),
16
            'handler' => $message->handler(),
17
            'data' => $message->data(),
18
        ]);
19
    }
20
21
    /**
22
     * @inheritdoc
23
     */
24
    public function deserialize($data)
25
    {
26
        $message = json_decode($data, true);
27
28
        return new Message(
29
            $message['queue'],
30
            $message['handler'],
31
            $message['data']
32
        );
33
    }
34
}
35