Test Setup Failed
Push — master ( ecdc34...0769f8 )
by Gabriel
02:46 queued 11s
created

generateModuleDefaultErrorRoutes()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 2
dl 0
loc 4
ccs 0
cts 3
cp 0
crap 2
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Nip\Router\RouteFactory;
4
5
use Nip\Router\RouteCollection;
6
7
/**
8
 * Trait HasModulesRoutesTrait
9
 * @package Nip\Router\RouteFactory
10
 */
11
trait HasModulesRoutesTrait
12
{
13
14
    /**
15
     * @param RouteCollection $collection
16
     * @param $module
17
     * @param $prefix
18
     */
19 3
    public static function generateGenericModuleDefaultRoutes($collection, $module, $prefix)
20
    {
21 3
        $moduleName = is_array($module) ? $module[0] : $module;
22 3
        self::generateIndexRoute($collection, $moduleName, self::generateModuleRouteClassBase($module, 'Literal'),
23
            $prefix);
24 3
        self::generateStandardRoute($collection, $moduleName . ".default",
25 3
            self::generateModuleRouteClassBase($module, 'Standard'), $prefix);
26 3
    }
27
28
    /**
29
     * @param string|array $module
30
     * @param string $type
31
     * @return string
32
     */
33 3
    public static function generateModuleRouteClassBase($module, $type)
34
    {
35 3
        if (is_array($module)) {
36 2
            $namespace = $module[1];
37 2
            $module = $module[0];
38 2
            $module = $module == 'default' ? 'frontend' : $module;
39 2
            return $namespace . 'Modules\\' . ucfirst($module) . '\Routes\\' . ucfirst($type) . 'Route';
40
        }
41 1
        return ucfirst($module) . '_Route_' . ucfirst($type);
42
    }
43
44
    /**
45
     * @param RouteCollection $collection
46
     * @param $class
47
     */
48
    public static function generateModuleDefaultErrorRoutes($collection, $class)
49
    {
50
        self::generateModuleErrorRoutes($collection, $class, 'default');
51
    }
52
53
    /**
54
     * @param RouteCollection $collection
55
     * @param $class
56
     * @param string $module
57
     */
58
    public static function generateModuleErrorRoutes($collection, $class, $module = 'default')
59
    {
60
        foreach (['403', '404', '500'] as $code) {
61
            self::generateLiteralRoute($collection, $module . ".error." . $code, $class, '', '/' . $code,
62
                ["controller" => "error", "action" => "index", "error_type" => $code]);
63
        }
64
    }
65
}
66