GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.
Completed
Pull Request — master (#556)
by Evgenij
02:53
created

ConfiguredContextFactory::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 5
nc 1
nop 4
1
<?php
2
3
namespace JMS\SerializerBundle\ContextFactory;
4
5
use JMS\Serializer\Context;
6
use JMS\Serializer\ContextFactory\DeserializationContextFactoryInterface;
7
use JMS\Serializer\ContextFactory\SerializationContextFactoryInterface;
8
use JMS\Serializer\DeserializationContext;
9
use JMS\Serializer\SerializationContext;
10
11
/**
12
 * Class ConfiguredContextFactory
13
 */
14
class ConfiguredContextFactory implements SerializationContextFactoryInterface, DeserializationContextFactoryInterface
15
{
16
    /**
17
     * Application version
18
     *
19
     * @var null|string
20
     */
21
    private $version;
22
23
    /**
24
     * Flag if we should serialize null values
25
     *
26
     * @var bool
27
     */
28
    private $serializeNulls;
29
30
    /**
31
     * Key-value pairs with custom attributes
32
     *
33
     * @var array
34
     */
35
    private $attributes;
36
37
    /**
38
     * Serialization groups
39
     *
40
     * @var string[]
41
     */
42
    private $groups;
43
44
    /**
45
     * ConfiguredContextFactory constructor.
46
     *
47
     * @param string|null $version        Application version
48
     * @param bool        $serializeNulls Flag if we should serialize null values
49
     * @param array       $attributes     Key-value pairs with custom attributes
50
     * @param string[]    $groups         Serialization groups
51
     */
52
    public function __construct($version, $serializeNulls, array $attributes, array $groups)
53
    {
54
        $this->version = $version;
55
        $this->serializeNulls = $serializeNulls;
56
        $this->attributes = $attributes;
57
        $this->groups = $groups;
58
    }
59
60
    /**
61
     * @inheritDoc
62
     */
63
    public function createDeserializationContext()
64
    {
65
        return $this->configureContext(new DeserializationContext());
66
    }
67
68
    /**
69
     * @inheritDoc
70
     */
71
    public function createSerializationContext()
72
    {
73
        return $this->configureContext(new SerializationContext());
74
    }
75
76
    /**
77
     * Configures context according to configuration
78
     *
79
     * @param Context $context The context
80
     *
81
     * @return Context Given object
82
     */
83
    private function configureContext(Context $context)
84
    {
85
        foreach ($this->attributes as $key => $value) {
86
            $context->setAttribute($key, $value);
87
        }
88
89
        $context->setGroups($this->groups);
90
        $context->setSerializeNull($this->serializeNulls);
91
        if ($this->version !== null) {
92
            $context->setVersion($this->version);
93
        }
94
95
        return $context;
96
    }
97
}
98