DominantColorConverter   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
dl 0
loc 33
c 0
b 0
f 0
wmc 2
lcom 1
cbo 2
ccs 10
cts 10
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A convert() 0 12 1
1
<?php
2
3
namespace Toothless\TinyImage\Converter;
4
5
use Toothless\TinyImage\Extractor\DominantColorExtractorInterface;
6
use Toothless\TinyImage\Provider\ContentProviderInterface;
7
8
/**
9
 * Class DominantColorConverter
10
 */
11
class DominantColorConverter implements ConverterInterface
12
{
13
    /**
14
     * @var DominantColorExtractorInterface
15
     */
16
    private $extractor;
17
18
    /**
19
     * DominantColorConverter constructor.
20
     *
21
     * @param DominantColorExtractorInterface $extractor
22
     */
23 10
    public function __construct(DominantColorExtractorInterface $extractor)
24
    {
25 10
        $this->extractor = $extractor;
26 10
    }
27
28
    /**
29
     * {@inheritdoc}
30
     */
31 8
    public function convert(ContentProviderInterface $provider)
32
    {
33 8
        $hexColor = $this->extractor->extract($provider->getContent());
34
35
        $gif = <<<GIF
36 8
47494638396101000100800100{$hexColor}0000002c00000000010001000002024401003b
37 4
GIF;
38
39 8
        return base64_encode(
40 4
            hex2bin($gif)
41 4
        );
42
    }
43
}
44