Completed
Push — master ( 129581...a310fa )
by Damian
03:27
created

HasFallbackSerializer::fallbackSerializer()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 11
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 2

Importance

Changes 0
Metric Value
cc 2
eloc 7
nc 2
nop 1
dl 0
loc 11
ccs 8
cts 8
cp 1
crap 2
rs 10
c 0
b 0
f 0
1
<?php declare(strict_types=1);
2
3
namespace Initx\Querabilis\Driver;
4
5
use JMS\Serializer\SerializerBuilder;
6
use JMS\Serializer\SerializerInterface;
7
8
trait HasFallbackSerializer
9
{
10 21
    public function fallbackSerializer(?SerializerInterface $serializer = null): SerializerInterface
11
    {
12 21
        if (!$serializer) {
13 21
            $separator = DIRECTORY_SEPARATOR;
14 21
            $metaDir = sprintf('%s%s..%s..%sconfig%sjms', __DIR__, $separator, $separator, $separator, $separator);
15 21
            $serializer = SerializerBuilder::create()
16 21
                ->addMetadataDir($metaDir, 'Initx\Querabilis')
17 21
                ->build();
18
        }
19
20 21
        return $serializer;
21
    }
22
}
23