Passed
Pull Request — master (#202)
by Alex
05:08
created

MetadataProviderStepTrait   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 6
eloc 11
c 1
b 0
f 0
dl 0
loc 38
rs 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A setAfterImplement() 0 3 1
A handleCustomFunction() 0 4 2
A setAfterUnify() 0 3 1
A setAfterVerify() 0 3 1
A setAfterExtract() 0 3 1
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: alex
5
 * Date: 14/02/20
6
 * Time: 9:34 PM
7
 */
8
9
namespace AlgoWeb\PODataLaravel\Providers;
10
11
trait MetadataProviderStepTrait
12
{
13
14
    protected static $afterExtract;
15
    protected static $afterUnify;
16
    protected static $afterVerify;
17
    protected static $afterImplement;
18
19
    public static function setAfterExtract(callable $method = null)
20
    {
21
        self::$afterExtract = $method;
22
    }
23
24
    public static function setAfterUnify(callable $method = null)
25
    {
26
        self::$afterUnify = $method;
27
    }
28
29
    public static function setAfterVerify(callable $method = null)
30
    {
31
        self::$afterVerify = $method;
32
    }
33
34
    public static function setAfterImplement(callable $method = null)
35
    {
36
        self::$afterImplement = $method;
37
    }
38
39
    /**
40
     * Encapsulate applying self::$after{FOO} calls
41
     *
42
     * @param mixed $parm
43
     * @param callable|null $func
44
     */
45
    private function handleCustomFunction($parm, callable $func = null)
46
    {
47
        if (null != $func) {
48
            $func($parm);
49
        }
50
    }
51
}
52