ManufacturerSerializer   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 32
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 12
dl 0
loc 32
rs 10
c 0
b 0
f 0
ccs 13
cts 13
cp 1
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A unserialize() 0 11 2
A serialize() 0 9 2
1
<?php
2
/**
3
 * File: ManufacturerSerializer.php
4
 *
5
 * @author      Maciej Sławik <[email protected]>
6
 * Github:      https://github.com/maciejslawik
7
 */
8
9
namespace MSlwk\Otomoto\Middleware\App\Manufacturer;
10
11
use MSlwk\Otomoto\App\Manufacturer\Data\ManufacturerDTO;
12
use MSlwk\Otomoto\App\Manufacturer\Data\ManufacturerDTOArray;
13
14
/**
15
 * Class ManufacturerSerializer
16
 * @package MSlwk\Otomoto\Middleware\App\Manufacturer
17
 */
18
class ManufacturerSerializer
19
{
20
    /**
21
     * @param ManufacturerDTOArray $manufacturerDTOArray
22
     * @return string
23
     */
24 1
    public function serialize(ManufacturerDTOArray $manufacturerDTOArray): string
25
    {
26 1
        $manufacturerArray = [];
27 1
        foreach ($manufacturerDTOArray as $manufacturerDTO) {
28 1
            $manufacturerArray[] = [
29 1
                'name' => $manufacturerDTO->getName()
30
            ];
31
        }
32 1
        return serialize($manufacturerArray);
33
    }
34
35
    /**
36
     * @param string $manufacturersDTOArrayString
37
     * @return ManufacturerDTOArray
38
     */
39 1
    public function unserialize(string $manufacturersDTOArrayString): ManufacturerDTOArray
40
    {
41 1
        $manufacturerArray = unserialize($manufacturersDTOArrayString);
42 1
        $manufacturerDTOArray = new ManufacturerDTOArray();
43
44 1
        foreach ($manufacturerArray as $manufacturerData) {
45 1
            $manufacturerDTO = new ManufacturerDTO($manufacturerData['name']);
46 1
            $manufacturerDTOArray->add($manufacturerDTO);
47
        }
48
49 1
        return $manufacturerDTOArray;
50
    }
51
}
52