Passed
Push — master ( 21c01c...bba7c4 )
by Iman
08:34
created

ViewEventManager::wrapForIgnorance()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2

Importance

Changes 0
Metric Value
cc 2
eloc 3
nc 1
nop 1
dl 0
loc 5
ccs 3
cts 3
cp 1
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Imanghafoori\HeyMan\WatchingStrategies;
4
5
use Imanghafoori\HeyMan\HeyManSwitcher;
6
7
class ViewEventManager
8
{
9
    private $views = [];
10
11
    /**
12
     * ViewEventManager constructor.
13
     *
14
     * @param $views
15
     *
16 14
     * @return ViewEventManager
17
     */
18 14
    public function init(array $views): self
19
    {
20 14
        $this->views = $views;
21
22
        return $this;
23
    }
24
25
    /**
26 14
     * @param $listener
27
     */
28 14
    public function startGuarding(callable $listener)
29 14
    {
30
        $switchableListener = app(HeyManSwitcher::class)->wrapForIgnorance($listener, 'view');
31 14
        foreach ($this->views as $view) {
32
            view()->creator($view, $switchableListener);
33 14
        }
34
    }
35
}
36