ListConverter   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 67
ccs 17
cts 17
cp 1
rs 10
c 0
b 0
f 0
wmc 5

5 Methods

Rating   Name   Duplication   Size   Complexity  
A convertToList() 0 8 1
A __construct() 0 3 1
A convertFromList() 0 8 1
A convertFrom() 0 3 1
A convertTo() 0 3 1
1
<?php
2
declare(strict_types=1);
3
4
5
namespace Xervice\Redis\Business\Model\Converter;
6
7
8
use Xervice\DataProvider\Business\Model\DataProvider\DataProviderInterface;
9
10
class ListConverter implements ListConverterInterface
11
{
12
    /**
13
     * @var \Xervice\Redis\Business\Model\Converter\DataConverterInterface
14
     */
15
    private $dataConverter;
16
17
    /**
18
     * ListConverter constructor.
19
     *
20
     * @param \Xervice\Redis\Business\Model\Converter\DataConverterInterface $dataConverter
21
     */
22 3
    public function __construct(DataConverterInterface $dataConverter)
23
    {
24 3
        $this->dataConverter = $dataConverter;
25 3
    }
26
27
    /**
28
     * @param array $list
29
     *
30
     * @return array
31
     */
32 1
    public function convertFromList(array $list) : array
33
    {
34 1
        return array_map(
35
            [
36 1
                $this,
37 1
                'convertFrom'
38
            ],
39 1
            $list
40
        );
41
    }
42
43
    /**
44
     * @param \Xervice\DataProvider\Business\Model\DataProvider\DataProviderInterface[] $list
45
     *
46
     * @return array
47
     */
48 3
    public function convertToList(array $list) : array
49
    {
50 3
        return array_map(
51
            [
52 3
                $this,
53 3
                'convertTo'
54
            ],
55 3
            $list
56
        );
57
    }
58
59
    /**
60
     * @param \Xervice\DataProvider\Business\Model\DataProvider\DataProviderInterface $dataProvider
61
     *
62
     * @return string
63
     */
64 3
    private function convertTo(DataProviderInterface $dataProvider): string
65
    {
66 3
        return $this->dataConverter->convertTo($dataProvider);
67
    }
68
69
    /**
70
     * @param string $element
71
     *
72
     * @return \Xervice\DataProvider\Business\Model\DataProvider\DataProviderInterface
73
     */
74 1
    private function convertFrom(string $element) : DataProviderInterface
75
    {
76 1
        return $this->dataConverter->convertFrom($element);
77
    }
78
}
79