Passed
Push — master ( 9147e7...8b2482 )
by Alexey
02:30
created

BoolValidation::error()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
4
namespace Lexuss1979\Validol\Validations;
5
6
7
class BoolValidation extends AbstractValidation implements ValidationInterface
8
{
9
10 8
    public function validate($data, $key)
11
    {
12 8
        $testedValue = $data[$key] ?? null;
13 8
        if (!$this->isBool($testedValue)) {
14 4
            $this->error = "$key must be bool";
15 4
            return false;
16
        }
17 4
        return true;
18
    }
19
20 8
    protected function isBool($value)
21
    {
22 8
        return is_bool($value) || in_array($value, [0, 1], true);
23
    }
24
}