Inherit::sync()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 9
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 4
nc 2
nop 3
dl 0
loc 9
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Valid inherit
4
 * User: moyo
5
 * Date: 2018/6/4
6
 * Time: 2:22 PM
7
 */
8
9
namespace Carno\Validator\Valid;
10
11
class Inherit
12
{
13
    /**
14
     * @param string $group
15
     * @param Group $source
16
     * @param Executor $linker
17
     */
18
    public function sync(string $group, Group $source, Executor $linker) : void
19
    {
20
        $fn = static function () use ($group, $source, $linker) {
21
            $source->traversing($group, function (Executor $origin, string $field) use ($linker) {
22
                $linker->import($origin->export($field));
23
            });
24
        };
25
26
        $source->has($group) ? $fn() : $source->wait($group, $fn);
27
    }
28
}
29