LaravelMenuServiceProvider   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 46
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 17
dl 0
loc 46
rs 10
c 0
b 0
f 0
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A boot() 0 16 2
A register() 0 15 2
1
<?php
2
3
namespace Adelf\LaravelMenu;
4
5
use Adelf\LaravelMenu\Filters\TwoLevelAuthFilter;
6
use Adelf\LaravelMenu\ItemProcessors\ActiveMenuItemProcessor;
7
use Adelf\LaravelMenu\ItemProcessors\LaravelMenuItemProcessor;
8
use Adelf\LaravelMenu\Renders\BladeRender;
9
use Illuminate\Support\ServiceProvider;
10
11
final class LaravelMenuServiceProvider extends ServiceProvider
12
{
13
    /**
14
     * Bootstrap any application services.
15
     *
16
     * @return void
17
     */
18
    public function boot()
19
    {
20
        if(function_exists('resource_path'))
21
        {
22
            $menuPath = resource_path('menu/default.php');
23
            $templatePath = resource_path('views/menu/menu.blade.php');
24
        }
25
        else
26
        {
27
            $menuPath = base_path('resources/menu/default.php');
28
            $templatePath = base_path('resources/views/menu/menu.blade.php');
29
        }
30
31
        $this->publishes([
32
            __DIR__ . '/../resources/menu/default.php' => $menuPath,
33
            __DIR__ . '/../resources/views/menu/menu.blade.php' => $templatePath,
34
        ]);
35
    }
36
37
    /**
38
     * Register any application services.
39
     *
40
     * @return void
41
     */
42
    public function register()
43
    {
44
        $processor = $this->app->make('config')->get('laravel-menu.processor', ActiveMenuItemProcessor::class);
45
46
        if($processor)
47
        {
48
            $this->app->bind(LaravelMenuItemProcessor::class, $processor);
49
        }
50
51
        $this->app->singleton(LaravelMenu::class);
52
        $this->app->singleton(ActiveMenuItemProcessor::class);
53
54
        LaravelMenuFilterFactory::addFilter('two-level', TwoLevelAuthFilter::class);
55
56
        LaravelMenuRenderFactory::addRender('blade', BladeRender::class);
57
    }
58
}