Completed
Push — master ( b2acd3...46961e )
by Axel
03:30
created

LoadProjectData   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Test Coverage

Coverage 9.09%

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 4
c 1
b 1
f 0
lcom 0
cbo 4
dl 0
loc 39
ccs 2
cts 22
cp 0.0909
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setContainer() 0 3 1
A load() 0 20 2
A getOrder() 0 3 1
1
<?php
2
namespace Developtech\AgilityBundle\DataFixtures\ORM;
3
4
use Doctrine\Common\Persistence\ObjectManager;
5
use Doctrine\Common\DataFixtures\AbstractFixture;
6
use Doctrine\Common\DataFixtures\OrderedFixtureInterface;
7
use Symfony\Component\DependencyInjection\ContainerInterface;
8
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
9
10
use Developtech\AgilityBundle\Entity\Project;
11
12
class LoadProjectData extends AbstractFixture implements OrderedFixtureInterface, ContainerAwareInterface {
13
    /** @var ContainerInterface */
14
    private $container;
15
    /**
16
     * @param ContainerInterface $container
17
     */
18 1
    public function setContainer(ContainerInterface $container = null) {
19 1
        $this->container = $container;
20
    }
21
    /**
22
     * @param ObjectManager $manager
23
     */
24
    public function load(ObjectManager $manager) {
25
        $data = include('fixtures/projects.php');
26
        foreach ($data as $projectData)
27
        {
28
            $project =
29
                (new Project())
30
                ->setId($projectData['id'])
31
                ->setName($projectData['name'])
32
                ->setSlug($projectData['slug'])
33
                ->setDescription($projectData['description'])
34
                ->setBetaTestStatus($projectData['beta_test_status'])
35
                ->setNbBetaTesters($projectData['nb_beta_testers'])
36
                ->setCreatedAt(new \DateTime($projectData['created_at']))
37
            ;
38
            $manager->persist($project);
39
            $this->addReference("project-{$project->getId()}", $project);
40
        }
41
        $manager->flush();
42
        $manager->clear(Project::class);
43
    }
44
    /**
45
     * @return int
46
     */
47
    public function getOrder() {
48
        return 1;
49
    }
50
}
51