Completed
Push — master ( 13db3a...9b8e77 )
by Zbigniew
04:33
created

TransformerFactory   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
c 1
b 0
f 0
lcom 0
cbo 3
dl 0
loc 40
ccs 10
cts 10
cp 1
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A createResourceModelTransformer() 0 6 1
A createResponseModelTransformer() 0 6 1
A prepareSerializer() 0 8 2
1
<?php
2
3
/*
4
 * This file is part of the zibios/wrike-php-jmsserializer package.
5
 *
6
 * (c) Zbigniew Ślązak
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Zibios\WrikePhpJmsserializer;
13
14
use JMS\Serializer\SerializerInterface;
15
use Zibios\WrikePhpJmsserializer\Transformer\Response\ResourceModelTransformer;
16
use Zibios\WrikePhpJmsserializer\Transformer\Response\ResponseModelTransformer;
17
18
/**
19
 * Transformer Factory.
20
 */
21
class TransformerFactory
22
{
23
    /**
24
     * @param SerializerInterface|null $serializer
25
     *
26
     * @return ResourceModelTransformer
27
     */
28 1
    public static function createResourceModelTransformer(SerializerInterface $serializer = null)
29
    {
30 1
        $serializer = self::prepareSerializer($serializer);
1 ignored issue
show
Coding Style introduced by
Consider using a different name than the parameter $serializer. This often makes code more readable.
Loading history...
31
32 1
        return new ResourceModelTransformer($serializer);
33
    }
34
35
    /**
36
     * @param SerializerInterface|null $serializer
37
     *
38
     * @return ResponseModelTransformer
39
     */
40 1
    public static function createResponseModelTransformer(SerializerInterface $serializer = null)
41
    {
42 1
        $serializer = self::prepareSerializer($serializer);
1 ignored issue
show
Coding Style introduced by
Consider using a different name than the parameter $serializer. This often makes code more readable.
Loading history...
43
44 1
        return new ResponseModelTransformer($serializer);
45
    }
46
47
    /**
48
     * @param SerializerInterface|null $serializer
49
     *
50
     * @return SerializerInterface
51
     */
52 2
    protected static function prepareSerializer(SerializerInterface $serializer = null)
53
    {
54 2
        if ($serializer === null) {
55 2
            $serializer = SerializerFactory::createSerializer();
1 ignored issue
show
Coding Style introduced by
Consider using a different name than the parameter $serializer. This often makes code more readable.
Loading history...
56
        }
57
58 2
        return $serializer;
59
    }
60
}
61