Passed
Push — master ( b6cc98...f3d222 )
by Agaletskiy
01:51
created

SymfonySerializerAdapterFactory::create()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 10
ccs 6
cts 6
cp 1
rs 9.9332
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Lamoda\OmsClient\Impl\Serializer;
6
7
use Doctrine\Common\Annotations\AnnotationReader;
8
use Lamoda\OmsClient\Serializer\SerializerInterface;
9
use Symfony\Component\Serializer\Encoder\JsonEncoder;
10
use Symfony\Component\Serializer\Mapping\Factory\ClassMetadataFactory;
11
use Symfony\Component\Serializer\Mapping\Loader\AnnotationLoader;
12
use Symfony\Component\Serializer\Normalizer\ObjectNormalizer;
13
use Symfony\Component\Serializer\Serializer;
14
15
final class SymfonySerializerAdapterFactory
16
{
17 1
    public static function create(): SerializerInterface
18
    {
19 1
        $classMetadataFactory = new ClassMetadataFactory(new AnnotationLoader(new AnnotationReader()));
20 1
        $normalizer = new ObjectNormalizer($classMetadataFactory);
21 1
        $encoder = new JsonEncoder();
22
23 1
        $symfonySerializer = new Serializer([$normalizer], [$encoder]);
24
25 1
        return new SymfonySerializerAdapter($symfonySerializer);
26
    }
27
}
28