Passed
Push — develop ( 53a66f...07e04a )
by Daniel
05:35
created

HeroFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
dl 0
loc 27
ccs 12
cts 12
cp 1
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A create() 0 9 1
A defaultOps() 0 8 1
1
<?php
2
3
namespace Silverback\ApiComponentBundle\Factory\Entity\Component\Hero;
4
5
use Silverback\ApiComponentBundle\Entity\Component\Hero\Hero;
6
use Silverback\ApiComponentBundle\Entity\Content\AbstractContent;
7
use Silverback\ApiComponentBundle\Factory\Entity\Component\AbstractComponentFactory;
8
9
/**
10
 * @author Daniel West <[email protected]>
11
 */
12
final class HeroFactory extends AbstractComponentFactory
13
{
14
    /**
15
     * @inheritdoc
16
     */
17 1
    public function create(?array $ops = null): Hero
18
    {
19 1
        $component = new Hero();
20 1
        $this->init($component, $ops);
21 1
        $component->setTitle($this->ops['title']);
22 1
        $component->setSubtitle($this->ops['subtitle']);
23 1
        $component->setTabs($this->ops['tabs']);
24 1
        $this->validate($component);
25 1
        return $component;
26
    }
27
28
    /**
29
     * @inheritdoc
30
     */
31 2
    public static function defaultOps(): array
32
    {
33 2
        return array_merge(
34 2
            parent::defaultOps(),
35
            [
36 2
                'title' => 'Untitled',
37
                'subtitle' => null,
38
                'tabs' => null
39
            ]
40
        );
41
    }
42
}
43