Completed
Push — master ( 8ace16...5d30f6 )
by Alexey
03:23
created

IntValidation   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 4
eloc 7
c 1
b 0
f 0
dl 0
loc 16
ccs 6
cts 6
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A isValid() 0 4 3
A afterSuccessValidation() 0 4 1
1
<?php
2
3
4
namespace Lexuss1979\Validol\Validations;
5
6
7
use Lexuss1979\Validol\ValueObject;
8
9
class IntValidation extends AbstractValidation implements ValidationInterface
10
{
11
    protected $group = self::TYPE_GROUP;
12
13
    protected $errorMessage = "{name} must be integer";
14
15 22
    public function isValid(ValueObject $data)
16
    {
17 22
        if (is_bool($data->value())) return false;
18 18
        return is_int($data->value()) || preg_match('/^\d+$/', $data->value());
19
    }
20
21 11
    protected function afterSuccessValidation()
22
    {
23 11
        $this->data->setType(ValueObject::INT);
24 11
        parent::afterSuccessValidation();
25 11
    }
26
27
}