MessengerServiceProvider::map()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 7
ccs 4
cts 4
cp 1
rs 9.4285
cc 1
eloc 3
nc 1
nop 1
crap 1
1
<?php namespace Distilleries\Messenger;
2
3
use Distilleries\Messenger\Helpers\Message;
4
use GuzzleHttp\Client;
5
use Illuminate\Support\ServiceProvider;
6
use Illuminate\Foundation\AliasLoader;
7
use Illuminate\Routing\Router;
8
9
class MessengerServiceProvider extends ServiceProvider {
10
11
12
    protected $package = 'messenger';
13
    protected $namespace = 'Distilleries\Messenger\Http\Controllers';
14
15
16 120
    public function boot()
17
    {
18 120
        $this->loadViewsFrom(__DIR__.'/../../views', $this->package);
19 120
        $this->loadTranslationsFrom(__DIR__.'/../../lang', $this->package);
20 120
        $this->publishes([
21 120
            __DIR__.'/../../config/config.php'    => config_path($this->package.'.php'),
22 90
        ]);
23
24 120
        if (! $this->app->routesAreCached()) {
25 120
            $this->map($this->app->make('Illuminate\Routing\Router'));
26 90
        }
27 90
    }
28
29
    /**
30
     * Register the service provider.
31
     *
32
     * @return void
33
     */
34 120 View Code Duplication
    public function register()
35
    {
36 120
        $this->mergeConfigFrom(
37 120
            __DIR__.'/../../config/config.php',
38 120
            $this->package
39 90
        );
40
41
42
        $this->app['messenger'] = $this->app->share(function($app)
43
        {
44 4
            return new Message($app['config']->get('messenger'),new Client());
45 120
        });
46
47 120
        $this->alias();
48 90
    }
49
50
    /**
51
     * Get the services provided by the provider.
52
     *
53
     * @return string[]
54
     */
55 4
    public function provides()
56
    {
57 4
        return array('messenger');
58
    }
59
60
61 120
    public function alias() {
62
63 120
        AliasLoader::getInstance()->alias(
64 120
            'Route',
65 120
            'Illuminate\Support\Facades\Route'
66 90
        );
67 120
        AliasLoader::getInstance()->alias(
68 120
            'Log',
69 30
            'Illuminate\Support\Facades\Log'
70 90
        );
71 90
    }
72
73
    /**
74
     * Define the routes for the application.
75
     *
76
     * @param  \Illuminate\Routing\Router  $router
77
     * @return void
78
     */
79
    public function map(Router $router)
80
    {
81 120
        $router->group(['namespace' => $this->namespace], function()
82
        {
83 120
            require __DIR__ . '/Http/routes.php';
84 120
        });
85
    }
86
}