Completed
Push — master ( a7ae1b...6c3874 )
by
unknown
03:16
created

MasterTarifServiceProvider::migrationHandle()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 6
nc 1
nop 0
dl 0
loc 10
rs 9.4285
c 1
b 0
f 0
1
<?php namespace Bantenporv\MasterTarif;
2
3
use Illuminate\Support\ServiceProvider;
4
use Bantenporv\MasterTarif\Console\Commands\MasterTarifCommand;
5
6
/**
7
 * The MasterTarifServiceProvider class
8
 *
9
 * @package Bantenporv\MasterTarif
10
 * @author  bantenprov <[email protected]>
11
 */
12
class MasterTarifServiceProvider extends ServiceProvider
13
{
14
15
    /**
16
     * Indicates if loading of the provider is deferred.
17
     *
18
     * @var bool
19
     */
20
    protected $defer = false;
21
22
    /**
23
     * Bootstrap the application events.
24
     *
25
     * @return void
26
     */
27
    public function boot()
28
    {
29
        // Bootstrap handles
30
        $this->routeHandle();
31
        $this->configHandle();
32
        $this->langHandle();
33
        $this->viewHandle();
34
        $this->assetHandle();
35
        $this->migrationHandle();
36
    }
37
38
    /**
39
     * Register the service provider.
40
     *
41
     * @return void
42
     */
43
    public function register()
44
    {
45
        $this->app->singleton('master-tarif', function ($app) {
0 ignored issues
show
Unused Code introduced by
The parameter $app is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
46
            return new MasterTarif;
47
        });
48
49
        $this->app->singleton('command.master-tarif', function ($app) {
0 ignored issues
show
Unused Code introduced by
The parameter $app is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
50
            return new MasterTarifCommand;
51
        });
52
53
        $this->commands('command.master-tarif');
54
    }
55
56
    /**
57
     * Get the services provided by the provider.
58
     *
59
     * @return array
60
     */
61
    public function provides()
62
    {
63
        return [
64
            'master-tarif',
65
            'command.master-tarif',
66
        ];
67
    }
68
69
    /**
70
     * Loading package routes
71
     *
72
     * @return void
73
     */
74
    protected function routeHandle()
75
    {
76
        $this->loadRoutesFrom(__DIR__.'/routes/routes.php');
77
    }
78
79
    /**
80
     * Loading and publishing package's config
81
     *
82
     * @return void
83
     */
84
    protected function configHandle()
85
    {
86
        $packageConfigPath = __DIR__.'/config/config.php';
87
        $appConfigPath     = config_path('master-tarif.php');
88
89
        $this->mergeConfigFrom($packageConfigPath, 'master-tarif');
90
91
        $this->publishes([
92
            $packageConfigPath => $appConfigPath,
93
        ], 'config');
94
    }
95
96
    /**
97
     * Loading and publishing package's translations
98
     *
99
     * @return void
100
     */
101
    protected function langHandle()
102
    {
103
        $packageTranslationsPath = __DIR__.'/resources/lang';
104
105
        $this->loadTranslationsFrom($packageTranslationsPath, 'master-tarif');
106
107
        $this->publishes([
108
            $packageTranslationsPath => resource_path('lang/vendor/master-tarif'),
109
        ], 'lang');
110
    }
111
112
    /**
113
     * Loading and publishing package's views
114
     *
115
     * @return void
116
     */
117
    protected function viewHandle()
118
    {
119
        $packageViewsPath = __DIR__.'/resources/views';
120
121
        $this->loadViewsFrom($packageViewsPath, 'master-tarif');
122
123
        $this->publishes([
124
            $packageViewsPath => resource_path('views/vendor/master-tarif'),
125
        ], 'views');
126
    }
127
128
    /**
129
     * Publishing package's assets (JavaScript, CSS, images...)
130
     *
131
     * @return void
132
     */
133
    protected function assetHandle()
134
    {
135
        $packageAssetsPath = __DIR__.'/resources/assets';
136
137
        $this->publishes([
138
            $packageAssetsPath => public_path('vendor/master-tarif'),
139
        ], 'public');
140
    }
141
142
    /**
143
     * Publishing package's migrations
144
     *
145
     * @return void
146
     */
147
    protected function migrationHandle()
148
    {
149
        $packageMigrationsPath = __DIR__.'/database/migrations';
150
151
        $this->loadMigrationsFrom($packageMigrationsPath);
152
153
        $this->publishes([
154
            $packageMigrationsPath => database_path('migrations')
155
        ], 'migrations');
156
    }
157
}
158