CanMute   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 9
c 1
b 0
f 0
dl 0
loc 24
rs 10
wmc 5

3 Methods

Rating   Name   Duplication   Size   Complexity  
A normalizeEvents() 0 11 3
A unmute() 0 3 1
A mute() 0 4 1
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