Passed
Pull Request — master (#17)
by Anatolyi
13:47
created

SymfonySerializer   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 4
Bugs 1 Features 1
Metric Value
eloc 5
c 4
b 1
f 1
dl 0
loc 27
ccs 7
cts 7
cp 1
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A deserialize() 0 3 1
A __construct() 0 3 1
A serialize() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Simple\Queue\Serializer;
6
7
use Symfony\Component\Serializer\Serializer;
8
use Symfony\Component\Serializer\Encoder\JsonEncoder;
9
10
/**
11
 * Class SymfonySerializer
12
 * @package Simple\Queue\Serializer
13
 */
14
class SymfonySerializer implements SerializerInterface
15
{
16
    /** @var Serializer */
17
    private Serializer $serializer;
18
19
    /**
20
     * SymfonySerializer constructor.
21
     */
22 1
    public function __construct()
23
    {
24 1
        $this->serializer = new Serializer([], [new JsonEncoder()]);
25 1
    }
26
27
    /**
28
     * @inheritDoc
29
     */
30 1
    public function serialize($data): string
31
    {
32 1
        return $this->serializer->encode($data, JsonEncoder::FORMAT);
33
    }
34
35
    /**
36
     * @inheritDoc
37
     */
38 1
    public function deserialize(string $data)
39
    {
40 1
        return $this->serializer->decode($data, JsonEncoder::FORMAT);
41
    }
42
}
43