Passed
Push — develop ( 6efcd9...4e1ea1 )
by Daniel
05:51
created

AbstractFixture::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Silverback\ApiComponentBundle\DataFixtures;
4
5
use Doctrine\Common\DataFixtures\AbstractFixture as BaseAbstractFixture;
6
use Doctrine\Common\Persistence\ObjectManager;
7
use Silverback\ApiComponentBundle\Exception\InvalidEntityException;
8
use Symfony\Component\Validator\Validator\ValidatorInterface;
9
10
abstract class AbstractFixture extends BaseAbstractFixture
11
{
12
    protected $validator;
13
14
    public function __construct(ValidatorInterface $validator)
15
    {
16
        $this->validator = $validator;
17
    }
18
19
    protected function persist(ObjectManager $manager, object $entity, bool $skipValidation = false): void
20
    {
21
        if (!$skipValidation) {
22
            $errors = $this->validator->validate($entity);
23
            if (\count($errors)) {
24
                throw new InvalidEntityException($errors);
25
            }
26
        }
27
        $manager->persist($entity);
28
    }
29
}
30