IsInRange::using()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 2
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
3
use GanbaroDigital\MissingBits\Checks\Check;
4
5
class IsInRange implements Check
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
6
{
7
    /**
8
     * minimum acceptable value in our range
9
     */
10
    private $min;
11
12
    /**
13
     * maximum acceptable value in our range
14
     */
15
    private $max;
16
17
    /**
18
     * constructor. used to create a customised check
19
     *
20
     * @param  int $min
21
     *         minimum value for allowed range
22
     * @param  int $max
23
     *         maximum value for allowed range
24
     */
25
    public function __construct($min, $max)
26
    {
27
        $this->min = $min;
28
        $this->max = $max;
29
    }
30
31
    /**
32
     * generates a Check
33
     *
34
     * @param  int $min
35
     *         minimum value for allowed range
36
     * @param  int $max
37
     *         maximum value for allowed range
38
     * @return Check
39
     *         returns a check to use
40
     */
41
    public static function using($min, $max)
42
    {
43
        return new static($min, $max);
44
    }
45
46
    /**
47
     * is $data within the require range?
48
     *
49
     * @param  int $data
50
     *         the value to check
51
     * @return bool
52
     *         TRUE if the data is in range
53
     *         FALSE otherwise
54
     */
55
    public function inspect($data)
56
    {
57
        return static::check($data, $this->min, $this->max);
58
    }
59
60
    /**
61
     * is $data within the require range?
62
     *
63
     * @param  int $data
64
     *         the value to check
65
     * @param  int $min
66
     *         minimum value for allowed range
67
     * @param  int $max
68
     *         maximum value for allowed range
69
     * @return bool
70
     *         TRUE if the data is in range
71
     *         FALSE otherwise
72
     */
73
    public static function check($data, $min, $max)
74
    {
75
        if ($data < $min) {
76
            return false;
77
        }
78
        if ($data > $max) {
79
            return false;
80
        }
81
82
        return true;
83
    }
84
}