FloatAttribute::isPositive()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 1 Features 0
Metric Value
dl 0
loc 6
rs 9.4286
c 1
b 1
f 0
cc 1
eloc 3
nc 1
nop 0
1
<?php
2
/**
3
 * Author: Nil Portugués Calderó <[email protected]>
4
 * Date: 9/16/14
5
 * Time: 9:17 PM
6
 *
7
 * For the full copyright and license information, please view the LICENSE
8
 * file that was distributed with this source code.
9
 */
10
11
namespace NilPortugues\Validator\Attribute\Numeric;
12
13
use NilPortugues\Validator\Attribute\GenericAttribute;
14
use NilPortugues\Validator\Validator;
15
16
/**
17
 * Class FloatAttribute
18
 * @package NilPortugues\Validator\Attribute\Numeric
19
 */
20
class FloatAttribute extends GenericAttribute
21
{
22
    /**
23
     * @param string    $propertyName
24
     * @param Validator $validator
25
     * @param array     $errorMessages
26
     * @param array     $functionMap
27
     */
28
    public function __construct($propertyName, Validator $validator, array &$errorMessages, array &$functionMap)
29
    {
30
        parent::__construct($propertyName, $validator, $errorMessages, $functionMap);
31
32
        $this->addCondition(__METHOD__);
33
    }
34
35
    /**
36
     * @return \NilPortugues\Validator\Attribute\Numeric\FloatAttribute
37
     */
38
    public function isNotZero()
39
    {
40
        $this->addCondition(__METHOD__);
41
42
        return $this;
43
    }
44
45
    /**
46
     * @return \NilPortugues\Validator\Attribute\Numeric\FloatAttribute
47
     */
48
    public function isPositive()
49
    {
50
        $this->addCondition(__METHOD__);
51
52
        return $this;
53
    }
54
55
    /**
56
     * @return \NilPortugues\Validator\Attribute\Numeric\FloatAttribute
57
     */
58
    public function isPositiveOrZero()
59
    {
60
        $this->addCondition(__METHOD__);
61
62
        return $this;
63
    }
64
65
    /**
66
     * @param float $min
67
     * @param float $max
68
     * @param bool  $inclusive
69
     *
70
     * @return \NilPortugues\Validator\Attribute\Numeric\FloatAttribute
71
     */
72
    public function isBetween($min, $max, $inclusive = false)
73
    {
74
        $this->addCondition(__METHOD__, [$min, $max, $inclusive], ['min' => $min, 'max' => $max]);
75
76
        return $this;
77
    }
78
79
    /**
80
     * @return \NilPortugues\Validator\Attribute\Numeric\FloatAttribute
81
     */
82
    public function isNegative()
83
    {
84
        $this->addCondition(__METHOD__);
85
86
        return $this;
87
    }
88
89
    /**
90
     * @return \NilPortugues\Validator\Attribute\Numeric\FloatAttribute
91
     */
92
    public function isNegativeOrZero()
93
    {
94
        $this->addCondition(__METHOD__);
95
96
        return $this;
97
    }
98
99
    /**
100
     * @return $this
101
     */
102
    public function isOdd()
103
    {
104
        $this->addCondition(__METHOD__);
105
106
        return $this;
107
    }
108
109
    /**
110
     * @return $this
111
     */
112
    public function isEven()
113
    {
114
        $this->addCondition(__METHOD__);
115
116
        return $this;
117
    }
118
119
    /**
120
     * @param float $multiple
121
     *
122
     * @return $this
123
     */
124
    public function isMultiple($multiple)
125
    {
126
        $this->addCondition(__METHOD__, [$multiple], ['size' => $multiple]);
127
128
        return $this;
129
    }
130
}
131