Completed
Push — master ( 6500ff...9e3b95 )
by Benoit
02:05
created

IntegerFactory   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
dl 0
loc 26
ccs 6
cts 6
cp 1
rs 10
c 0
b 0
f 0
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A supports() 0 4 3
A create() 0 6 1
1
<?php
2
3
namespace JBen87\ParsleyBundle\Constraint\Factory;
4
5
use JBen87\ParsleyBundle\Constraint\Constraint;
6
use JBen87\ParsleyBundle\Constraint\Constraints as ParsleyAssert;
7
use Symfony\Component\Validator\Constraint as SymfonyConstraint;
8
use Symfony\Component\Validator\Constraints as Assert;
9
10
class IntegerFactory implements TranslatableFactoryInterface
11
{
12
    use FactoryTrait;
13
14
    const TYPE = 'integer';
15
    const TYPE_ALT = 'int';
16
17
    /**
18
     * @inheritdoc
19
     */
20 1
    public function create(SymfonyConstraint $constraint): Constraint
21
    {
22
        /** @var Assert\Type $constraint */
23
24 1
        return new ParsleyAssert\Integer([
25 1
            'message' => $this->trans($constraint->message, ['{{ type }}' => static::TYPE]),
26
        ]);
27
    }
28
29
    /**
30
     * @inheritdoc
31
     */
32 1
    public function supports(SymfonyConstraint $constraint): bool
33
    {
34 1
        return $constraint instanceof Assert\Type
35 1
            && (static::TYPE === $constraint->type || static::TYPE_ALT === $constraint->type)
36
        ;
37
    }
38
}
39