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
Push — static-map ( 1bc0cf )
by Eric
64:02
created

StaticMapHelperBuilder   C

Complexity

Total Complexity 6

Size/Duplication

Total Lines 90
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 30

Importance

Changes 0
Metric Value
wmc 6
lcom 1
cbo 30
dl 0
loc 90
rs 5
c 0
b 0
f 0

6 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A hasKey() 0 4 1
A getKey() 0 4 1
A setKey() 0 4 1
A build() 0 4 1
B createSubscribers() 0 39 1
1
<?php
2
3
/*
4
 * This file is part of the Ivory Google Map package.
5
 *
6
 * (c) Eric GELOEN <[email protected]>
7
 *
8
 * For the full copyright and license information, please read the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Ivory\GoogleMap\Helper\Builder;
13
14
use Ivory\GoogleMap\Helper\Collector\Image\EncodedPolylineCollector;
15
use Ivory\GoogleMap\Helper\Collector\Image\MarkerCollector;
16
use Ivory\GoogleMap\Helper\Collector\Image\PolylineCollector;
17
use Ivory\GoogleMap\Helper\Renderer\Image\Base\CoordinateRenderer;
18
use Ivory\GoogleMap\Helper\Renderer\Image\Base\PointRenderer;
19
use Ivory\GoogleMap\Helper\Renderer\Image\Overlay\EncodedPolylineRenderer;
20
use Ivory\GoogleMap\Helper\Renderer\Image\Overlay\EncodedPolylineStyleRenderer;
21
use Ivory\GoogleMap\Helper\Renderer\Image\Overlay\EncodedPolylineValueRenderer;
22
use Ivory\GoogleMap\Helper\Renderer\Image\Overlay\MarkerLocationRenderer;
23
use Ivory\GoogleMap\Helper\Renderer\Image\Overlay\MarkerRenderer;
24
use Ivory\GoogleMap\Helper\Renderer\Image\Overlay\MarkerStyleRenderer;
25
use Ivory\GoogleMap\Helper\Renderer\Image\Overlay\PolylineLocationRenderer;
26
use Ivory\GoogleMap\Helper\Renderer\Image\Overlay\PolylineRenderer;
27
use Ivory\GoogleMap\Helper\Renderer\Image\Overlay\PolylineStyleRenderer;
28
use Ivory\GoogleMap\Helper\Renderer\Image\Overlay\VisibleRenderer;
29
use Ivory\GoogleMap\Helper\Renderer\Image\SizeRenderer;
30
use Ivory\GoogleMap\Helper\StaticMapHelper;
31
use Ivory\GoogleMap\Helper\Subscriber\Image\CenterSubscriber;
32
use Ivory\GoogleMap\Helper\Subscriber\Image\EncodedPolylineSubscriber;
33
use Ivory\GoogleMap\Helper\Subscriber\Image\FormatSubscriber;
34
use Ivory\GoogleMap\Helper\Subscriber\Image\KeySubscriber;
35
use Ivory\GoogleMap\Helper\Subscriber\Image\MarkerSubscriber;
36
use Ivory\GoogleMap\Helper\Subscriber\Image\PolylineSubscriber;
37
use Ivory\GoogleMap\Helper\Subscriber\Image\ScaleSubscriber;
38
use Ivory\GoogleMap\Helper\Subscriber\Image\SizeSubscriber;
39
use Ivory\GoogleMap\Helper\Subscriber\Image\StaticSubscriber;
40
use Ivory\GoogleMap\Helper\Subscriber\Image\TypeSubscriber;
41
use Ivory\GoogleMap\Helper\Subscriber\Image\VisibleSubscriber;
42
use Ivory\GoogleMap\Helper\Subscriber\Image\ZoomSubscriber;
43
44
/**
45
 * @author GeLo <[email protected]>
46
 */
47
class StaticMapHelperBuilder extends AbstractHelperBuilder
48
{
49
    /**
50
     * @var string|null
51
     */
52
    private $key;
53
54
    /**
55
     * @param string|null $key
56
     */
57
    public function __construct($key = null)
58
    {
59
        $this->key = $key;
60
    }
61
62
    /**
63
     * @return bool
64
     */
65
    public function hasKey()
66
    {
67
        return $this->key !== null;
68
    }
69
70
    /**
71
     * @return string|null
72
     */
73
    public function getKey()
74
    {
75
        return $this->key;
76
    }
77
78
    /**
79
     * @param string|null $key
80
     */
81
    public function setKey($key)
82
    {
83
        $this->key = $key;
84
    }
85
86
    /**
87
     * @return StaticMapHelper
88
     */
89
    public function build()
90
    {
91
        return new StaticMapHelper($this->createEventDispatcher());
92
    }
93
94
    /**
95
     * {@inheritdoc}
96
     */
97
    protected function createSubscribers()
98
    {
99
        // Pre-loaded Renderers
100
        $pointRenderer = new PointRenderer();
101
        $markerStyleRenderer = new MarkerStyleRenderer($pointRenderer);
102
103
        // Collectors
104
        $encodedPolylineCollector = new EncodedPolylineCollector();
105
        $markerCollector = new MarkerCollector($markerStyleRenderer);
106
        $polylineCollector = new PolylineCollector();
107
108
        // Renderers
109
        $coordinateRenderer = new CoordinateRenderer();
110
        $sizeRenderer = new SizeRenderer();
111
        $visibleRenderer = new VisibleRenderer($coordinateRenderer);
112
        $encodedPolylineValueRenderer = new EncodedPolylineValueRenderer();
113
        $encodedPolylineStyleRenderer = new EncodedPolylineStyleRenderer();
114
        $encodedPolylineRenderer = new EncodedPolylineRenderer($encodedPolylineStyleRenderer, $encodedPolylineValueRenderer);
115
        $markerLocationRenderer = new MarkerLocationRenderer($coordinateRenderer);
116
        $markerRenderer = new MarkerRenderer($markerStyleRenderer, $markerLocationRenderer);
117
        $polylineLocationRenderer = new PolylineLocationRenderer($coordinateRenderer);
118
        $polylineStyleRenderer = new PolylineStyleRenderer();
119
        $polylineRenderer = new PolylineRenderer($polylineStyleRenderer, $polylineLocationRenderer);
120
121
        return array_merge([
122
            new CenterSubscriber($coordinateRenderer),
123
            new FormatSubscriber(),
124
            new ScaleSubscriber(),
125
            new SizeSubscriber($sizeRenderer),
126
            new StaticSubscriber(),
127
            new TypeSubscriber(),
128
            new VisibleSubscriber($visibleRenderer),
129
            new ZoomSubscriber(),
130
            new MarkerSubscriber($markerCollector, $markerRenderer),
131
            new PolylineSubscriber($polylineCollector, $polylineRenderer),
132
            new EncodedPolylineSubscriber($encodedPolylineCollector, $encodedPolylineRenderer),
133
            new KeySubscriber($this->key),
134
        ], parent::createSubscribers());
135
    }
136
}
137