Code Duplication    Length = 22-22 lines in 2 locations

src/Rule/Validate/Integer.php 1 location

@@ 5-26 (lines=22) @@
2
3
namespace Mbright\Validation\Rule\Validate;
4
5
class Integer
6
{
7
    /**
8
     * Validates that the value represents an integer.
9
     *
10
     * @param object $subject The subject to be filtered.
11
     * @param string $field The subject field name.
12
     *
13
     * @return bool True if valid, false if not.
14
     */
15
    public function __invoke($subject, string $field): bool
16
    {
17
        $value = $subject->$field;
18
19
        if (is_int($value)) {
20
            return true;
21
        }
22
23
        // otherwise, must be numeric, and must be same as when cast to int
24
        return is_numeric($value) && $value == (int) $value;
25
    }
26
}
27

src/Rule/Validate/FloatVal.php 1 location

@@ 5-26 (lines=22) @@
2
3
namespace Mbright\Validation\Rule\Validate;
4
5
class FloatVal
6
{
7
    /**
8
     * Validates that the value represents a float.
9
     *
10
     * @param object $subject The subject to be filtered.
11
     * @param string $field The subject field name.
12
     *
13
     * @return bool True if valid, false if not.
14
     */
15
    public function __invoke($subject, string $field): bool
16
    {
17
        $value = $subject->$field;
18
19
        if (is_float($value)) {
20
            return true;
21
        }
22
23
        // otherwise, must be numeric, and must be same as when cast to float
24
        return is_numeric($value) && $value == (float) $value;
25
    }
26
}
27