Completed
Push — master ( 3a35d5...02819f )
by Gabriel
08:58
created

HasOptionsTrait   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 0

Test Coverage

Coverage 91.67%

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 0
dl 0
loc 42
ccs 11
cts 12
cp 0.9167
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setOption() 0 7 1
A hasOption() 0 6 1
A getOption() 0 9 2
1
<?php
2
3
namespace Nip\Form\Elements\Traits;
4
5
/**
6
 * Trait HasOptionsTrait
7
 * @package Nip\Form\Elements\Traits
8
 */
9
trait HasOptionsTrait
10
{
11
    protected $_options;
12
13
    /**
14
     * @param $key
15
     * @param $value
16
     * @return $this
17
     */
18 2
    public function setOption($key, $value)
19
    {
20 2
        $key = (string)$key;
21 2
        $this->_options[$key] = $value;
22
23 2
        return $this;
24
    }
25
26
    /**
27
     * @param string $key
28
     * @return bool
29
     */
30 5
    public function hasOption($key)
31
    {
32 5
        $key = (string)$key;
33
34 5
        return isset($this->_options[$key]);
35
    }
36
37
    /**
38
     * @param string $key
39
     * @return null
40
     */
41 2
    public function getOption($key)
42
    {
43 2
        $key = (string)$key;
44 2
        if (!$this->hasOption($key)) {
45
            return null;
46
        }
47
48 2
        return $this->_options[$key];
49
    }
50
}
51