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.
Passed
Push — master ( 01e58a...4950d7 )
by Patrick
02:11
created

Factory::createConverter()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Artack\Color;
6
7
use Artack\Color\Color\HEX;
8
use Artack\Color\Color\HSV;
9
use Artack\Color\Color\RGB;
10
use Artack\Color\Converter\Convertible;
11
use Artack\Color\Converter\HEXToRGBConverter;
12
use Artack\Color\Converter\HSVToRGBConverter;
13
use Artack\Color\Converter\RGBToHEXConverter;
14
use Artack\Color\Converter\RGBToHSVConverter;
15
use Artack\Color\Transition\HSVTransition;
16
use Artack\Color\Transition\RGBTransition;
17
use Artack\Color\Transition\TransitionInterface;
18
use Fhaculty\Graph\Graph;
19
use Fhaculty\Graph\Vertex;
20
21
class Factory
22
{
23
    const GRAPH_EDGE_KEY_CONVERTER = 'converter';
24
25 590
    public static function createConverter(): Converter
26
    {
27 590
        return new Converter(new ConverterGraph(self::getConverterGraph()));
28
    }
29
30 7
    public static function createTransition(): Transition
31
    {
32 7
        return new Transition(self::getTransitions(), self::createConverter());
33
    }
34
35
    /**
36
     * @return Convertible[]
37
     */
38 590
    private static function getConverters(): array
39
    {
40
        return [
41 590
            new RGBToHSVConverter(),
42 590
            new HSVToRGBConverter(),
43 590
            new RGBToHEXConverter(),
44 590
            new HEXToRGBConverter(),
45
        ];
46
    }
47
48 590
    private static function getColors(): array
49
    {
50
        return [
51 590
            RGB::class,
52
            HSV::class,
53
            HEX::class,
54
        ];
55
    }
56
57
    /**
58
     * @return TransitionInterface[]
59
     */
60 7
    private static function getTransitions(): array
61
    {
62
        return [
63 7
            new RGBTransition(),
64 7
            new HSVTransition(),
65
        ];
66
    }
67
68 590
    private static function getConverterGraph(): Graph
69
    {
70 590
        $graph = new Graph();
71
72
        /** @var Vertex[] $vertices */
73 590
        $vertices = [];
74
75 590
        foreach (self::getColors() as $color) {
76 590
            $vertices[$color] = $graph->createVertex($color);
77
        }
78
79 590
        foreach (self::getConverters() as $converter) {
80 590
            $vertices[$converter::supportsFrom()]->createEdgeTo($vertices[$converter::supportsTo()])->setAttribute(self::GRAPH_EDGE_KEY_CONVERTER, $converter);
81
        }
82
83 590
        return $graph;
84
    }
85
}
86