Confuse   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 3
Bugs 2 Features 1
Metric Value
wmc 3
c 3
b 2
f 1
lcom 0
cbo 1
dl 0
loc 25
ccs 11
cts 11
cp 1
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A isHandling() 0 4 1
A lolify() 0 10 1
A filterMonologLevels() 0 6 1
1
<?php
2
3
namespace Monolol\Lolifiers;
4
5
use Monolol\Lolifier;
6
use Monolol\Referentials\MonologLevel;
7
8
class Confuse implements Lolifier
9
{
10 1
    public function isHandling(array $record)
11
    {
12 1
        return true;
13
    }
14
    
15 8
    public function lolify(array $record)
16
    {
17 8
        $availableLevels = $this->filterMonologLevels($record);
18 8
        $randomKey = array_rand($availableLevels);
19
        
20 8
        $record['level'] = $availableLevels[$randomKey];
21 8
        $record['level_name'] = $randomKey;
22
            
23 8
        return $record;
24
    }
25
    
26
    private function filterMonologLevels(array $record)
27
    {
28 8
        return array_filter(MonologLevel::getLevels(), function($level) use ($record) {
29 8
            return $record['level'] !== $level;
30 8
        });
31
    }
32
}
33