AlertSetting   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Test Coverage

Coverage 100%

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getAll() 0 10 1
A isValid() 0 6 2
1
<?php
2
3
namespace Overwatch\UserBundle\Enum;
4
5
/**
6
 * AlertSetting
7
 * The different possible alert settings for users
8
 */
9
class AlertSetting
10
{
11
    const NONE = 0;
12
    const CHANGE_BAD = 1;
13
    const CHANGE = 2;
14
    const CHANGE_ALL = 3;
15
    const ALL = 4;
16
    
17 136
    public static function getAll()
18
    {
19
        return [
20 136
            self::NONE       => 'Send me no alerts, ever',
21 136
            self::CHANGE_BAD => 'Only send me an alert when the result of a test changes to FAILED (or ERROR)',
22 136
            self::CHANGE     => 'Send me alerts when the result of a test changes (default)',
23 136
            self::CHANGE_ALL => 'Send me alerts for every test failure and when the result of a test changes',
24 136
            self::ALL        => 'Send me the results of every test, regardless of if the status changes'
25 136
        ];
26
    }
27
    
28 136
    public static function isValid($setting)
29
    {
30 136
        if (!in_array($setting, array_keys(self::getAll()))) {
31 1
            throw new \InvalidArgumentException("$setting is not a valid AlertSetting");
0 ignored issues
show
Coding Style Best Practice introduced by
As per coding-style, please use concatenation or sprintf for the variable $setting instead of interpolation.

It is generally a best practice as it is often more readable to use concatenation instead of interpolation for variables inside strings.

// Instead of
$x = "foo $bar $baz";

// Better use either
$x = "foo " . $bar . " " . $baz;
$x = sprintf("foo %s %s", $bar, $baz);
Loading history...
32
        }
33 135
    }
34
}
35