Completed
Push — master ( 549b3b...080752 )
by Danilo
15:29
created

EntityAccess::offsetGet()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 14
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 5
CRAP Score 3

Importance

Changes 0
Metric Value
dl 0
loc 14
ccs 5
cts 5
cp 1
rs 9.4285
c 0
b 0
f 0
cc 3
eloc 5
nc 3
nop 1
crap 3
1
<?php
2
3
/*
4
 * This file is part of the PhpBotFramework.
5
 *
6
 * PhpBotFramework is free software: you can redistribute it and/or modify
7
 * it under the terms of the GNU Lesser General Public License as
8
 * published by the Free Software Foundation, version 3.
9
 *
10
 * PhpBotFramework is distributed in the hope that it will be useful, but
11
 * WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
 * Lesser General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU Lesser General Public License
16
 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
 */
18
19
namespace PhpBotFramework\Entities;
20
21
/**
22
 * \addtogroup Core
23
 * @{
24
 */
25
trait EntityAccess
26
{
27
28
    /** @} */
29
30
    /** \brief Contains the array passed __construct */
31
    private $container;
32
33 7
    public function __construct($data)
34
    {
35
36 7
        $this->container = $data;
37 7
    }
38
39
    public function offsetSet($offset, $value)
0 ignored issues
show
Unused Code introduced by
The parameter $offset is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
Unused Code introduced by
The parameter $value is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
40
    {
41
    }
42
43 6
    public function offsetExists($offset)
44
    {
45
46
        // Is it set?
47 6
        return isset($this->container[$offset]);
48
    }
49
50
    public function offsetUnset($offset)
0 ignored issues
show
Unused Code introduced by
The parameter $offset is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
51
    {
52
53
        // Log a warning
54
    }
55
56 4
    public function offsetGet($offset)
57
    {
58
59
        // Get name of the method, the class should have. Like "getText"
60 4
        $method = Text::camelCase("get $offset");
61
62
        // If it exists, call it and return its return value
63 4
        if (method_exists($this, $method)) {
64 1
            return $this->{$method}();
65
        }
66
67
        // If not return the data from the array after checking it is set
68 4
        return isset($this->container[$offset]) ? $this->container[$offset] : null;
69
    }
70
}
71