Passed
Push — master ( 590085...649359 )
by
unknown
37s
created

RuleMapping::checkRule()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2.0625

Importance

Changes 0
Metric Value
cc 2
eloc 3
nc 2
nop 1
dl 0
loc 6
ccs 3
cts 4
cp 0.75
crap 2.0625
rs 9.4285
c 0
b 0
f 0
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: harry
5
 * Date: 2/17/18
6
 * Time: 11:07 AM
7
 */
8
9
namespace PluginSimpleValidate\BaseAbstract;
10
11
use PluginSimpleValidate\Exception\RuleNotExist;
12
13
abstract class RuleMapping
14
{
15
    const VALIDATE_IS_TRUE = 'is_true';
16
17
    const VALIDATE_NUMBER = 'numeric';
18
19
    const VALIDATE_REQUIRED = 'required';
20
21
    const VALIDATE_IS_NOT_EMPTY = 'not_empty';
22
23
    const VALIDATE_EMAIL = 'valid_email';
24
25
    const VALIDATE_ALPHA = 'alpha';
26
27
    const VALIDATE_ALPHA_OR_NUMERIC = 'alpha_or_numeric';
28
29
    const VALIDATE_DECIMAL = 'decimal';
30
31
    const VALIDATE_INTEGER = 'integer';
32
33
    const VALIDATE_NATURAL_NUMBER = 'natural';
34
35
    const VALIDATE_NATURAL_NO_ZERO_NUMBER = 'natural_no_zero';
36
37
    const VALIDATE_EQUAL = 'equal';
38
39
    const VALIDATE_LESS_THAN = 'less_than';
40
41
    const VALIDATE_GREATER_THAN = 'greater_than';
42
43
    const VALIDATE_LESS_OR_EQUAL_THAN = 'less_or_equal_than';
44
45
    const VALIDATE_GREATER_OR_EQUAL_THAN = 'greater_or_equal_than';
46
47
    const VALIDATE_BETWEEN = 'between';
48
49
    const VALIDATE_BETWEEN_OR_EQUAL_THAN = 'between_or_equal';
50
51
    const VALIDATE_LENGTH = 'length';
52
53
    const VALIDATE_LENGTH_LESS_THAN = 'length_less_than';
54
55
    const VALIDATE_LENGTH_GREATER_THAN = 'length_greater_than';
56
57
    const VALIDATE_LENGTH_LESS_OR_EQUAL_THAN = 'length_less_or_equal_than';
58
59
    const VALIDATE_LENGTH_GREATER_OR_EQUAL_THAN = 'length_greater_or_equal_than';
60
61
    const VALIDATE_LENGTH_BETWEEN = 'length_between';
62
63
    const VALIDATE_LENGTH_BETWEEN_OR_EQUAL_THAN = 'length_between_or_equal';
64
65
    const VALIDATE_PHONE_NUMBER = 'valid_phone_number';
66
67
    /**
68
     * @var array
69
     */
70
    protected $list;
71
72 2
    protected function __construct()
73
    {
74 2
        $this->list = [
75 2
            static::VALIDATE_IS_TRUE => [
76
                'validation_method' => 'is_true',
77
                'lang_key' => 'is_true'
78
            ],
79 2
            static::VALIDATE_NUMBER => [
80
                'validation_method' => 'is_number',
81
                'lang_key' => 'numeric'
82
            ],
83 2
            static::VALIDATE_REQUIRED => [
84
                'validation_method' => 'is_required',
85
                'lang_key' => 'required'
86
            ],
87 2
            static::VALIDATE_IS_NOT_EMPTY => [
88
                'validation_method' => 'is_not_empty',
89
                'lang_key' => 'not_empty'
90
            ],
91 2
            static::VALIDATE_EMAIL => [
92
                'validation_method' => 'is_valid_email',
93
                'lang_key' => 'email'
94
            ],
95 2
            static::VALIDATE_ALPHA => [
96
                'validation_method' => 'is_alpha',
97
                'lang_key' => 'alpha'
98
            ],
99 2
            static::VALIDATE_ALPHA_OR_NUMERIC => [
100
                'validation_method' => 'is_alpha_or_numeric',
101
                'lang_key' => 'alpha_or_numeric'
102
            ],
103 2
            static::VALIDATE_DECIMAL => [
104
                'validation_method' => 'is_decimal',
105
                'lang_key' => 'decimal'
106
            ],
107 2
            static::VALIDATE_INTEGER => [
108
                'validation_method' => 'is_integer',
109
                'lang_key' => 'integer'
110
            ],
111 2
            static::VALIDATE_NATURAL_NUMBER => [
112
                'validation_method' => 'is_natural',
113
                'lang_key' => 'natural'
114
            ],
115 2
            static::VALIDATE_NATURAL_NO_ZERO_NUMBER => [
116
                'validation_method' => 'is_natural_no_zero',
117
                'lang_key' => 'natural_no_zero'
118
            ],
119 2
            static::VALIDATE_EQUAL => [
120
                'validation_method' => 'is_equal',
121
                'lang_key' => 'equal'
122
            ],
123 2
            static::VALIDATE_LESS_THAN => [
124
                'validation_method' => 'less_than',
125
                'lang_key' => 'less_than'
126
            ],
127 2
            static::VALIDATE_GREATER_THAN => [
128
                'validation_method' => 'greater_than',
129
                'lang_key' => 'greater_than'
130
            ],
131 2
            static::VALIDATE_LESS_OR_EQUAL_THAN => [
132
                'validation_method' => 'less_or_equal_than',
133
                'lang_key' => 'less_or_equal_than'
134
            ],
135 2
            static::VALIDATE_GREATER_OR_EQUAL_THAN => [
136
                'validation_method' => 'greater_or_equal_than',
137
                'lang_key' => 'greater_or_equal_than'
138
            ],
139 2
            static::VALIDATE_BETWEEN => [
140
                'validation_method' => 'between',
141
                'lang_key' => 'between'
142
            ],
143 2
            static::VALIDATE_BETWEEN_OR_EQUAL_THAN => [
144
                'validation_method' => 'between_or_equal',
145
                'lang_key' => 'between_or_equal'
146
            ],
147 2
            static::VALIDATE_LENGTH => [
148
                'validation_method' => 'length',
149
                'lang_key' => 'length'
150
            ],
151 2
            static::VALIDATE_LENGTH_LESS_THAN => [
152
                'validation_method' => 'length_less_than',
153
                'lang_key' => 'length_less_than'
154
            ],
155 2
            static::VALIDATE_LENGTH_GREATER_THAN => [
156
                'validation_method' => 'length_greater_than',
157
                'lang_key' => 'length_greater_than'
158
            ],
159 2
            static::VALIDATE_LENGTH_LESS_OR_EQUAL_THAN => [
160
                'validation_method' => 'length_less_or_equal_than',
161
                'lang_key' => 'length_less_or_equal_than'
162
            ],
163 2
            static::VALIDATE_LENGTH_GREATER_OR_EQUAL_THAN => [
164
                'validation_method' => 'length_greater_or_equal_than',
165
                'lang_key' => 'length_greater_or_equal_than'
166
            ],
167 2
            static::VALIDATE_LENGTH_BETWEEN => [
168
                'validation_method' => 'length_between',
169
                'lang_key' => 'length_between'
170
            ],
171 2
            static::VALIDATE_LENGTH_BETWEEN_OR_EQUAL_THAN => [
172
                'validation_method' => 'length_between_or_equal',
173
                'lang_key' => 'length_between_or_equal'
174
            ],
175 2
            static::VALIDATE_PHONE_NUMBER => [
176
                'validation_method' => 'valid_phone_number',
177
                'lang_key' => 'phone_number'
178
            ],
179
        ];
180 2
    }
181
182
    /**
183
     * @param $ruleName
184
     * @throws RuleNotExist
185
     */
186 13
    protected function checkRule($ruleName)
187
    {
188 13
        if (!isset($this->list[$ruleName])) {
189
            throw new RuleNotExist('Rule does not exist');
190
        }
191
    }
192
}