Completed
Push — master ( db5ad0...ac6025 )
by Andy
06:43
created

CallableNormalizer::getCallback()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 0
cts 4
cp 0
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 0
crap 2
1
<?php
2
3
namespace Palmtree\Csv\Normalizer;
4
5
class CallableNormalizer extends AbstractNormalizer
6
{
7
    protected $callback;
8
9
    /**
10
     * CallableNormalizer constructor.
11
     *
12
     * @param callable                 $callback
13
     * @param null|NormalizerInterface $normalizer
14
     */
15
    public function __construct(callable $callback, $normalizer = null)
16
    {
17
        $this->setCallback($callback);
18
19
        parent::__construct($normalizer);
20
    }
21
22
    /**
23
     * @param callable $callback
24
     *
25
     * @return CallableNormalizer
26
     */
27
    public function setCallback(callable $callback)
28
    {
29
        $this->callback = $callback;
30
31
        return $this;
32
    }
33
34
    /**
35
     * @return callable
36
     */
37
    public function getCallback()
38
    {
39
        return $this->callback;
40
    }
41
42
    /**
43
     * @param $value
44
     *
45
     * @return mixed
46
     */
47
    protected function getNormalizedValue($value)
48
    {
49
        $value = call_user_func($this->getCallback(), $value, $this);
50
51
        return $value;
52
    }
53
}
54