GitHub Access Token became invalid

It seems like the GitHub access token used for retrieving details about this repository from GitHub became invalid. This might prevent certain types of inspections from being run (in particular, everything related to pull requests).
Please ask an admin of your repository to re-new the access token on this website.

PropertyCaller::isMatchWithGetterMethodPattern()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 1
c 1
b 0
f 0
nc 2
nop 2
dl 0
loc 3
rs 10
1
<?php
2
3
namespace Soheilrt\AdobeConnectClient\Client\Traits;
4
5
use BadMethodCallException;
6
7
trait PropertyCaller
8
{
9
    use Setter;
10
11
    /**
12
     * magic caller method for on fly attribute setting or getting as function.
13
     *
14
     * @param $name
15
     * @param $arguments
16
     *
17
     * @throws \ReflectionException
18
     * @return static
19
     */
20
    public function __call($name, $arguments)
21
    {
22
        if ($this->isCallableGetter($name, $arguments)) {
23
            return $this->__get($this->getAttributeName($name));
24
        }
25
        if ($this->isCallableSetter($name, $arguments)) {
26
            return $this->__set($this->getAttributeName($name), $arguments[0]);
27
        }
28
29
        throw new BadMethodCallException("Called Method '{$name}' Not Found!");
30
    }
31
32
    /**
33
     * Determine if called function is getter method and current object has magic getter function.
34
     *
35
     * @param $name
36
     * @param $arguments
37
     *
38
     * @return bool
39
     */
40
    private function isCallableGetter($name, $arguments): bool
41
    {
42
        return $this->isMatchWithGetterMethodPattern($name, $arguments) && $this->hasMagicGetter();
43
    }
44
45
    /**
46
     * Determine if user has called a getter method.
47
     *
48
     * @param $name
49
     * @param $arguments
50
     *
51
     * @return bool
52
     */
53
    private function isMatchWithGetterMethodPattern($name, $arguments): bool
54
    {
55
        return preg_match("/(?<=^get)(\w+)/m", $name) && count($arguments) === 0;
56
    }
57
58
    /**
59
     * Determine if current class has magic getter function.
60
     *
61
     * @return bool
62
     */
63
    private function hasMagicGetter(): bool
64
    {
65
        return method_exists($this, '__get');
66
    }
67
68
    /**
69
     * Extract Attribute Pure Name form Called Method Name.
70
     *
71
     * @param $name
72
     *
73
     * @return mixed
74
     */
75
    private function getAttributeName($name)
76
    {
77
        preg_match("/(?<=^get|^set)(\w+)/m", $name, $matches);
78
79
        return $matches[0];
80
    }
81
82
    /**
83
     * Determine if called function if setter method and current object has magic setter function.
84
     *
85
     * @param $name
86
     * @param $arguments
87
     *
88
     * @return bool
89
     */
90
    private function isCallableSetter($name, $arguments): bool
91
    {
92
        return $this->isMatchWithSetterMethodPattern($name, $arguments) and $this->hasMagicSetter();
93
    }
94
95
    /**
96
     * Determine if user called a setter method and passed.
97
     *
98
     * @param string   $name method name
99
     * @param          $arguments
100
     *
101
     * @return bool
102
     */
103
    private function isMatchWithSetterMethodPattern($name, $arguments): bool
104
    {
105
        return preg_match("/(?<=^set)(\w+)/m", $name) && count($arguments) === 1;
106
    }
107
108
    /**
109
     * Determine if current object has magic setter method.
110
     *
111
     * @return bool
112
     */
113
    private function hasMagicSetter(): bool
114
    {
115
        return method_exists($this, '__set');
116
    }
117
}
118