Completed
Pull Request — master (#20)
by
unknown
01:42
created

MapFieldsTransformer::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
1
<?php
2
3
namespace Extraload\Transformer;
4
5
use Symfony\Component\PropertyAccess\PropertyAccess;
6
7
class MapFieldsTransformer implements TransformerInterface
8
{
9
    private $fields;
10
11
    public function __construct(array $fields)
12
    {
13
        $this->fields = $fields;
14
    }
15
16
    public function transform($data)
17
    {
18
        $result = [];
19
20
        $propertyAccessor = PropertyAccess::createPropertyAccessor();
21
22
        foreach ($data as $key => $val) {
23
            if (array_key_exists($key, $this->fields)) {
24
                $propertyAccessor->setValue($result, "[{$this->fields[$key]}]", $val);
25
            }
26
        }
27
28
        return $result;
29
    }
30
}
31