Passed
Push — master ( 59e1e1...c1229c )
by Ryuichi
03:02
created

Range::isValid()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 6
CRAP Score 4

Importance

Changes 0
Metric Value
cc 4
dl 0
loc 9
rs 9.2
c 0
b 0
f 0
eloc 5
nc 4
nop 2
ccs 6
cts 6
cp 1
crap 4
1
<?php
2
namespace WebStream\Annotation\Attributes\Ext\ValidateRule;
3
4
/**
5
 * Range
6
 * @author Ryuichi TANAKA.
7
 * @since 2015/03/30
8
 * @version 0.4
9
 */
10
class Range implements IValidate
11
{
12
    /**
13
     * {@inheritdoc}
14
     */
15 8
    public function isValid($value, $rule)
16
    {
17 8
        $isValid = false;
18 8
        if (preg_match('/^range\[([-]?\d{1,}\.?\d{0,}?)\.\.([-]?\d{1,}\.?\d{0,}?)\]$/', $rule, $matches)) {
19 8
            $value = doubleval($value);
20 8
            $isValid = $value === null || ($value >= doubleval($matches[1]) && $value <= doubleval($matches[2]));
21
        }
22
23 8
        return $isValid;
24
    }
25
}
26