Passed
Push — feature/0.7.0 ( cbd99f...49f0a6 )
by Ryuichi
42:21
created

Range::isValid()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 4
eloc 5
nc 4
nop 2
dl 0
loc 9
rs 9.2
c 0
b 0
f 0
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
    public function isValid($value, $rule)
16
    {
17
        $isValid = false;
18
        if (preg_match('/^range\[([-]?\d{1,}\.?\d{0,}?)\.\.([-]?\d{1,}\.?\d{0,}?)\]$/', $rule, $matches)) {
19
            $value = doubleval($value);
20
            $isValid = $value === null || ($value >= doubleval($matches[1]) && $value <= doubleval($matches[2]));
21
        }
22
23
        return $isValid;
24
    }
25
}
26