Completed
Push — master ( 25f1a1...cad3e9 )
by ARCANEDEV
04:24
created

RouteServiceProvider   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 62
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Test Coverage

Coverage 90%

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 4
dl 0
loc 62
ccs 18
cts 20
cp 0.9
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getRouteNamespace() 0 4 1
A getFoundationAuthPrefix() 0 6 1
A map() 0 4 1
A mapAdminRoutes() 0 14 1
1
<?php namespace Arcanesoft\Tracker\Providers;
2
3
use Arcanesoft\Core\Bases\RouteServiceProvider as ServiceProvider;
4
use Arcanesoft\Tracker\Http\Routes;
5
use Illuminate\Contracts\Routing\Registrar as Router;
6
use Illuminate\Support\Arr;
7
8
/**
9
 * Class     RouteServiceProvider
10
 *
11
 * @package  Arcanesoft\Tracker\Providers
12
 * @author   ARCANEDEV <[email protected]>
13
 */
14
class RouteServiceProvider extends ServiceProvider
15
{
16
    /* ------------------------------------------------------------------------------------------------
17
     |  Getters & Setters
18
     | ------------------------------------------------------------------------------------------------
19
     */
20
    /**
21
     * Get the routes namespace
22
     *
23
     * @return string
24
     */
25
    protected function getRouteNamespace()
26
    {
27
        return 'Arcanesoft\\Tracker\\Http\\Routes\\Admin';
28
    }
29
30
    /**
31
     * Get the auth foundation route prefix.
32
     *
33
     * @return string
34
     */
35 4
    public function getFoundationAuthPrefix()
36
    {
37 4
        $prefix = Arr::get($this->getFoundationRouteGroup(), 'prefix', 'dashboard');
38
39 4
        return "$prefix/" . config('arcanesoft.tracker.route.prefix', 'tracker');
40
    }
41
42
    /* ------------------------------------------------------------------------------------------------
43
     |  Main Functions
44
     | ------------------------------------------------------------------------------------------------
45
     */
46
    /**
47
     * Define the routes for the application.
48
     *
49
     * @param  \Illuminate\Contracts\Routing\Registrar  $router
50
     */
51 4
    public function map(Router $router)
52
    {
53 4
        $this->mapAdminRoutes($router);
54 4
    }
55
56
    /**
57
     * Register the admin routes.
58
     *
59
     * @param  \Illuminate\Contracts\Routing\Registrar $router
60
     */
61 4
    private function mapAdminRoutes(Router $router)
62
    {
63 4
        $attributes = array_merge($this->getFoundationRouteGroup(), [
64 4
            'as'        => 'admin::tracker.',
65 2
            'namespace' => 'Arcanesoft\\Tracker\\Http\\Controllers\\Admin',
66 2
        ]);
67
68 4
        $router->group(array_merge(
69 2
            $attributes,
70 4
            ['prefix' => $this->getFoundationAuthPrefix()]
71 4
        ), function (Router $router) {
72 4
            Routes\Admin\TrackerRoutes::register($router);
73 4
        });
74 4
    }
75
}
76