CanMute::normalizeEvents()   A
last analyzed

Complexity

Conditions 3
Paths 4

Size

Total Lines 11
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
eloc 5
c 1
b 0
f 0
nc 4
nop 1
dl 0
loc 11
rs 10
1
<?php
2
3
namespace Monooso\Unobserve;
4
5
trait CanMute
6
{
7
    public static function mute($events = null)
8
    {
9
        $instance = new static();
10
        resolve(ProxyManager::class)->register($instance, static::normalizeEvents($events));
11
    }
12
13
    protected static function normalizeEvents($events): array
14
    {
15
        if (is_null($events)) {
16
            $events = ['*'];
17
        }
18
19
        if (! is_array($events)) {
20
            $events = [$events];
21
        }
22
23
        return $events;
24
    }
25
26
    public static function unmute()
27
    {
28
        resolve(ProxyManager::class)->unregister(new static);
29
    }
30
}
31