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

Errors::__call()   A

Complexity

Conditions 4
Paths 4

Size

Total Lines 12

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 12
rs 9.8666
c 0
b 0
f 0
cc 4
nc 4
nop 2
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