MenuItemBuilder   A
last analyzed

Complexity

Total Complexity 10

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 10
lcom 0
cbo 1
dl 0
loc 40
ccs 0
cts 30
cp 0
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A canBuild() 0 8 2
A preBuild() 0 18 6
A postBuild() 0 4 1
A postFlushBuild() 0 4 1
1
<?php
2
3
namespace Kunstmaan\FixturesBundle\Builder;
4
5
use Kunstmaan\FixturesBundle\Loader\Fixture;
6
use Kunstmaan\MenuBundle\Entity\BaseMenuItem;
7
8
class MenuItemBuilder implements BuilderInterface
9
{
10
    public function canBuild(Fixture $fixture)
11
    {
12
        if ($fixture->getEntity() instanceof BaseMenuItem) {
13
            return true;
14
        }
15
16
        return false;
17
    }
18
19
    public function preBuild(Fixture $fixture)
20
    {
21
        $parameters = $fixture->getParameters();
22
23
        if (isset($parameters['page']) && $parameters['page'] instanceof Fixture) {
24
            $additionalEntities = $parameters['page']->getAdditionalEntities();
25
            $properties = $fixture->getProperties();
26
27
            if (isset($properties['menu']) &&
28
                $properties['menu']->getLocale() &&
29
                isset($additionalEntities['translationNode_' . $properties['menu']->getLocale()])) {
30
                $fixture->getEntity()->setType(BaseMenuItem::TYPE_PAGE_LINK);
31
                $fixture->getEntity()->setNodeTranslation($additionalEntities['translationNode_' . $properties['menu']->getLocale()]);
32
            }
33
        }
34
35
        return;
36
    }
37
38
    public function postBuild(Fixture $fixture)
39
    {
40
        return;
41
    }
42
43
    public function postFlushBuild(Fixture $fixture)
44
    {
45
        return;
46
    }
47
}
48