Test Failed
Pull Request — master (#10)
by Yo
02:38
created

AutoloadListNormalizer   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A normalize() 0 9 2
A denormalize() 0 11 3
1
<?php
2
namespace Yoanm\ComposerConfigManager\Application\Serializer\Normalizer;
3
4
use Yoanm\ComposerConfigManager\Domain\Model\Autoload;
5
6
class AutoloadListNormalizer
7
{
8
    /**
9
     * @param Autoload[] $autoloadList
10
     *
11
     * @return array
12
     */
13 2
    public function normalize(array $autoloadList)
14
    {
15 2
        $normalizedList = [];
16 2
        foreach ($autoloadList as $autoload) {
17 2
            $normalizedList[$autoload->getType()][$autoload->getNamespace()] = $autoload->getPath();
18 2
        }
19 2
20 2
        return $normalizedList;
21 2
    }
22 2
23
    /**
24 2
     * @param array $autoloadList
25
     *
26
     * @return Autoload[]
27
     */
28
    public function denormalize(array $autoloadList)
29
    {
30
        $denormalizedList = [];
31
        foreach ($autoloadList as $autoloadType => $entryList) {
32
            foreach ($entryList as $namespace => $path) {
33
                $denormalizedList[] = new Autoload($autoloadType, $namespace, $path);
34
            }
35
        }
36
37
        return $denormalizedList;
38
    }
39
}
40