Completed
Push — master ( f606cd...f6df63 )
by
unknown
03:49 queued 02:25
created

VueWorkflowServiceProvider::assetHandle()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
nc 1
nop 0
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
1
<?php namespace Bantenprov\VueWorkflow;
2
3
use Illuminate\Support\ServiceProvider;
4
use Bantenprov\VueWorkflow\Console\Commands\VueWorkflowCommand;
5
6
/**
7
 * The VueWorkflowServiceProvider class
8
 *
9
 * @package Bantenprov\VueWorkflow
10
 * @author  bantenprov <[email protected]>
11
 */
12
class VueWorkflowServiceProvider 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('vue-workflow', 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 VueWorkflow;
47
        });
48
49
        $this->app->singleton('command.vue-workflow', 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 VueWorkflowCommand;
51
        });
52
53
        $this->commands('command.vue-workflow');
54
    }
55
56
    /**
57
     * Get the services provided by the provider.
58
     *
59
     * @return array
60
     */
61
    public function provides()
62
    {
63
        return [
64
            'vue-workflow',
65
            'command.vue-workflow',
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('vue-workflow.php');
88
89
        $this->mergeConfigFrom($packageConfigPath, 'vue-workflow');
90
91
        $this->publishes([
92
            $packageConfigPath => $appConfigPath,
93
        ], 'vue-workflow-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, 'vue-workflow');
106
107
        $this->publishes([
108
            $packageTranslationsPath => resource_path('lang/vendor/vue-workflow'),
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, 'vue-workflow');
122
123
        $this->publishes([
124
            $packageViewsPath => resource_path('views/vendor/vue-workflow'),
125
        ], 'views');
126
    }
127
    
128
129
    /**
130
     * Publishing package's assets (JavaScript, CSS, images...)
131
     *
132
     * @return void
133
     */
134
    protected function assetHandle()
135
    {
136
        $packageAssetsPath = __DIR__.'/resources/assets';
137
138
        $this->publishes([
139
            $packageAssetsPath => resource_path('assets'),
140
        ], 'vue-workflow-public');
141
    }
142
143
    /**
144
     * Publishing package's migrations
145
     *
146
     * @return void
147
     */
148
    protected function migrationHandle()
149
    {
150
        $packageMigrationsPath = __DIR__.'/database/migrations';
151
152
        $this->loadMigrationsFrom($packageMigrationsPath);
153
154
        $this->publishes([
155
            $packageMigrationsPath => database_path('migrations')
156
        ], 'migrations');
157
    }
158
}
159