Completed
Push — master ( 2a804a...3f4c76 )
by Asmir
11s
created

SerializerUtils   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Test Coverage

Coverage 50%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 0
dl 0
loc 21
ccs 3
cts 6
cp 0.5
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A getMetadataFactory() 0 12 2
1
<?php
2
3
namespace GoetasWebservices\SoapServices\SoapClient;
4
5
use JMS\Serializer\Serializer;
6
use Metadata\MetadataFactory;
7
8
class SerializerUtils
9
{
10
    /**
11
     * Get metadata factory from serializer, with any JMS Serializer version.
12
     *
13
     * @param $serializer Serializer
14
     * @return MetadataFactory
15
     */
16 32
    public static function getMetadataFactory($serializer)
17
    {
18 32
        if (method_exists($serializer, "getMetadataFactory")) {
19
            // JMS Serializer 1.x
20 32
            return $serializer->getMetadataFactory();
21
        } else {
22
            // JMS Serializer 2.x & 3.x
23
            $reflectionProperty = new \ReflectionProperty(get_class($serializer), 'factory');
24
            $reflectionProperty->setAccessible(true);
25
            return $reflectionProperty->getValue($serializer);
26
        }
27
    }
28
}