Completed
Push — master ( d4a912...134347 )
by
unknown
04:55
created

AbstractMediaParameterBag   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 68
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 84.21%

Importance

Changes 0
Metric Value
wmc 7
lcom 1
cbo 1
dl 0
loc 68
ccs 16
cts 19
cp 0.8421
rs 10
c 0
b 0
f 0

7 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A getExtra() 0 4 1
A setExtra() 0 4 1
A addExtra() 0 4 1
A hasExtra() 0 4 1
A setDefaults() 0 4 1
A toArray() 0 6 1
1
<?php
2
3
namespace MediaMonks\SonataMediaBundle\Handler;
4
5
use MediaMonks\SonataMediaBundle\Model\MediaInterface;
6
7
abstract class AbstractMediaParameterBag implements ParameterBagInterface
8
{
9
    /**
10
     * @var array
11
     */
12
    protected $extra = [];
13
14
    /**
15
     * @param array $extra
16
     */
17 18
    public function __construct(array $extra = [])
18
    {
19 18
        $this->extra = $extra;
20 18
    }
21
22
    /**
23
     * @return array
24
     */
25 14
    public function getExtra()
26
    {
27 14
        return $this->extra;
28
    }
29
30
    /**
31
     * @param array $extra
32
     */
33
    public function setExtra($extra)
34
    {
35
        $this->extra = $extra;
36
    }
37
38
    /**
39
     * @param $key
40
     * @param $value
41
     */
42 7
    public function addExtra($key, $value)
43
    {
44 7
        $this->extra[$key] = $value;
45 7
    }
46
47
    /**
48
     * @param $key
49
     * @return bool
50
     */
51 5
    public function hasExtra($key)
52
    {
53 5
        return isset($this->extra[$key]);
54
    }
55
56
    /**
57
     * @param array $defaults
58
     */
59 5
    public function setDefaults(array $defaults)
60
    {
61 5
        $this->extra = array_merge($defaults, $this->extra);
62 5
    }
63
64
    /**
65
     * @param MediaInterface $media
66
     * @return array
67
     */
68 14
    public function toArray(MediaInterface $media)
69
    {
70 14
        return array_merge($this->getExtra(), [
71 14
            'id' => $media->getId()
72
        ]);
73
    }
74
}
75