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

IntegerFactory::create()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 6
ccs 3
cts 3
cp 1
crap 1
rs 9.4285
c 0
b 0
f 0
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