Completed
Branch master (2e2c40)
by Rob
01:16
created

BaseOptions::getOptions()   B

Complexity

Conditions 2
Paths 2

Size

Total Lines 70

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2.0625

Importance

Changes 0
Metric Value
dl 0
loc 70
ccs 3
cts 4
cp 0.75
rs 8.6545
c 0
b 0
f 0
cc 2
nc 2
nop 0
crap 2.0625

How to fix   Long Method   

Long Method

Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.

For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.

Commonly applied refactorings include:

1
<?php
2
3
namespace devtoolboxuk\cerberus;
4
5
class BaseOptions
6
{
7
8 4
    public function getOptions()
9
    {
10 4
        if ($this->yaml_loaded()) {
11
            return yaml_parse_file(__DIR__ . '/Options.yml');
12
        }
13
14
        return [
15 4
            'Detection' => [
16
                'Rules' => [
17
                    'Bots' => [
18
                        'active' => 1,
19
                        'score' => 1,
20
                        'params' => 'sensu'
21
                    ],
22
                    'Html' => [
23
                        'active' => 1,
24
                        'score' => 1,
25
                        'params' => '',
26
                    ],
27
                    'Numeric' => [
28
                        'active' => 1,
29
                        'score' => 1,
30
                        'params' => '',
31
                    ],
32
                    'Url' => [
33
                        'active' => 1,
34
                        'score' => 1,
35
                        'params' => '',
36
                    ],
37
                    'DisposableEmail' => [
38
                        'active' => 1,
39
                        'score' => 10,
40
                        'params' => '',
41
                    ],
42
                    'InvalidEmail' => [
43
                        'active' => 1,
44
                        'score' => 1,
45
                        'params' => '',
46
                    ],
47
                    'QueryStringKey' => [
48
                        'active' => 1,
49
                        'score' => 1,
50
                        'params' => '',
51
                    ],
52
                    'QueryStringValue' => [
53
                        'active' => 1,
54
                        'score' => 1,
55
                        'params' => '',
56
                    ],
57
                    'DifferentCountry' => [
58
                        'active' => 1,
59
                        'score' => 10,
60
                        'params' => '',
61
                    ],
62
                    'Country' => [
63
                        'active' => 1,
64
                        'score' => 10,
65
                        'params' => '',
66
                    ],
67
                    'Xss' => [
68
                        'active' => 1,
69
                        'score' => 10,
70
                        'params' => '',
71
                    ]
72
                ]
73
            ]
74
75
        ];
76
77
    }
78
79 4
    private function yaml_loaded()
0 ignored issues
show
Coding Style Naming introduced by
The method yaml_loaded is not named in camelCase.

This check marks method names that have not been written in camelCase.

In camelCase names are written without any punctuation, the start of each new word being marked by a capital letter. Thus the name database connection string becomes databaseConnectionString.

Loading history...
Coding Style introduced by
Method name "BaseOptions::yaml_loaded" is not in camel caps format
Loading history...
80
    {
81 4
        return extension_loaded('yaml');
82
    }
83
}