Test Failed
Push — develop ( cc6a8c...2132bf )
by Freddie
15:51
created

RangeConstraintValidator   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 15
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 10
dl 0
loc 15
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A validate() 0 13 1
1
<?php
2
3
namespace FlexPHP\Generator\Domain\Validators\Constraints;
4
5
use Symfony\Component\Validator\Constraints\Collection;
6
use Symfony\Component\Validator\Constraints\GreaterThanOrEqual;
7
use Symfony\Component\Validator\Constraints\NotBlank;
8
use Symfony\Component\Validator\Constraints\Positive;
9
use Symfony\Component\Validator\Constraints\PositiveOrZero;
10
use Symfony\Component\Validator\Validation;
11
12
/**
13
 * @Annotation
14
 */
15
class RangeConstraintValidator
16
{
17
    public function validate($rule)
18
    {
19
        $validator = Validation::createValidator();
20
21
        return $validator->validate($rule, new Collection([
22
            'min' => [
23
                new NotBlank(),
24
                new PositiveOrZero(),
25
            ],
26
            'max' => [
27
                new NotBlank(),
28
                new Positive(),
29
                new GreaterThanOrEqual($rule['min'] ?? 0),
30
            ],
31
        ]));
32
    }
33
}
34