Passed
Push — master ( 53c725...a8eb1b )
by Petr
07:45
created

ApiLoader   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 8
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
eloc 4
c 0
b 0
f 0
dl 0
loc 8
ccs 0
cts 4
cp 0
rs 10
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A getClassName() 0 4 1
1
<?php
2
3
namespace kalanis\kw_modules\Loaders\Di;
4
5
6
use kalanis\kw_modules\Loaders\TSeparate;
7
8
9
/**
10
 * Class KwApiLoader
11
 * @package kalanis\kw_modules\Loaders\Di
12
 * Load modules data from defined targets
13
 * @codeCoverageIgnore contains external autoloader
14
 *
15
 * Paths:
16
 * /modules/{module_name}/php-src/ApiControllers/{module_name}.php as init
17
 * /modules/{module_name}/php-src/Lib/* as next libraries
18
 * Namespaces:
19
 * \KWCMS\modules\{module_name}\ApiControllers\{module_name} as init
20
 * \KWCMS\modules\{module_name}\Lib\ as next libraries
21
 *
22
 * Name is passed as first big and the rest little ( ucfirst(strtolower($x)) )
23
 * - lookup by curly braces
24
 */
25
class ApiLoader extends ALoader
26
{
27
    use TSeparate;
28
29
    protected function getClassName(array $path): string
30
    {
31
        list($target, $constructPath) = $this->separateModule($path);
32
        return sprintf('\KWCMS\modules\%s\ApiControllers\%s', $target, $constructPath);
33
    }
34
}
35