Completed
Push — master ( 06117a...d54351 )
by Rafael
03:01
created

CallableParser   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
c 1
b 0
f 0
lcom 1
cbo 0
dl 0
loc 25
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A parseValue() 0 4 1
1
<?php
2
3
/**
4
 * LICENSE: This file is subject to the terms and conditions defined in
5
 * file 'LICENSE', which is part of this source code package.
6
 *
7
 * @copyright 2016 Copyright(c) - All rights reserved.
8
 */
9
10
namespace Rafrsr\LibArray2Object\Parser;
11
12
/**
13
 * Class CallableParser
14
 */
15
class CallableParser implements ValueParserInterface
16
{
17
    /**
18
     * @var callable
19
     */
20
    protected $parserCallback;
21
22
    /**
23
     * CallableParser constructor.
24
     *
25
     * @param callable $parserCallback
26
     */
27
    public function __construct(callable $parserCallback)
28
    {
29
        $this->parserCallback = $parserCallback;
30
    }
31
32
    /**
33
     * @inheritDoc
34
     */
35
    public function parseValue($value, $type, \ReflectionProperty $property, $object)
36
    {
37
        return call_user_func($this->parserCallback, $value, $type, $property, $object);
38
    }
39
}