AutoloadListNormalizer::denormalize()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 11
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 3

Importance

Changes 0
Metric Value
dl 0
loc 11
ccs 8
cts 8
cp 1
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 6
nc 3
nop 1
crap 3
1
<?php
2
namespace Yoanm\ComposerConfigManager\Application\Serializer\Normalizer;
3
4
use Yoanm\ComposerConfigManager\Domain\Model\Autoload;
5
6
class AutoloadListNormalizer implements DenormalizerInterface
7
{
8
    /**
9
     * @param Autoload[] $autoloadList
10
     *
11
     * @return array
12
     */
13 1
    public function normalize(array $autoloadList)
14
    {
15 1
        $normalizedList = [];
16 1
        foreach ($autoloadList as $autoload) {
17 1
            $normalizedList[$autoload->getType()][$autoload->getNamespace()] = $autoload->getPath();
18 1
        }
19
20 1
        return $normalizedList;
21
    }
22
23
    /**
24
     * @param array $autoloadList
25
     *
26
     * @return Autoload[]
27
     */
28 1
    public function denormalize(array $autoloadList)
29
    {
30 1
        $denormalizedList = [];
31 1
        foreach ($autoloadList as $autoloadType => $entryList) {
32 1
            foreach ($entryList as $namespace => $path) {
33 1
                $denormalizedList[] = new Autoload($autoloadType, $path, $namespace);
34 1
            }
35 1
        }
36
37 1
        return $denormalizedList;
38
    }
39
}
40