Completed
Push — master ( 0d52ea...f30158 )
by Sherif
06:07
created

Errors   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 0
dl 0
loc 25
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __call() 0 12 4
1
<?php
2
3
namespace App\Modules\Core\Errors;
4
5
use App\Modules\Core\Interfaces\BaseFactoryInterface;
6
7
class Errors implements BaseFactoryInterface
8
{
9
    /**
10
     * Construct the repository class name based on
11
     * the method name called, search in the
12
     * given namespaces for the class and
13
     * return an instance.
14
     *
15
     * @param  string $name the called method name
16
     * @param  array  $arguments the method arguments
17
     * @return object
18
     */
19
    public function __call($name, $arguments)
20
    {
21
        foreach (\Module::all() as $module) {
22
            $nameSpace = 'App\\Modules\\' . $module['basename'];
23
            $class = $nameSpace . '\\Errors\\' . $module['basename'] . 'Errors';
24
25
            if (class_exists($class)) {
26
                $class = \App::make($class);
27
                if (method_exists($class, $name)) return call_user_func_array([$class, $name], $arguments);
28
            }
29
        }
30
    }
31
}
32