StorageConnectServiceProvider::boot()   A
last analyzed

Complexity

Conditions 3
Paths 4

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 13
rs 9.8333
c 0
b 0
f 0
cc 3
nc 4
nop 0
1
<?php
2
3
namespace STS\StorageConnect;
4
5
use Illuminate\Support\ServiceProvider;
6
use STS\StorageConnect\Subscribers\LogsActivity;
7
8
class StorageConnectServiceProvider extends ServiceProvider
9
{
10
    /**
11
     * Bootstrap the application services.
12
     */
13
    public function boot()
14
    {
15
        if ($this->app->runningInConsole()) {
16
            $this->publishes([__DIR__ . '/../config/storage-connect.php' => config_path('storage-connect.php')], 'config');
17
        }
18
19
        if ($this->app['config']->get('storage-connect.log_activity') == true) {
20
            $this->app['events']->subscribe(LogsActivity::class);
21
        }
22
23
        $this->app[StorageConnectManager::class]->register('dropbox', \STS\StorageConnect\Drivers\Dropbox\Adapter::class, \STS\StorageConnect\Drivers\Dropbox\Provider::class);
24
        $this->app[StorageConnectManager::class]->register('google', \STS\StorageConnect\Drivers\Google\Adapter::class, \STS\StorageConnect\Drivers\Google\Provider::class);
25
    }
26
27
    /**
28
     * Register the application services.
29
     */
30
    public function register()
31
    {
32
        $this->mergeConfigFrom(__DIR__ . '/../config/storage-connect.php', 'storage-connect');
33
34
        $this->loadRoutesFrom(__DIR__ . '/../routes/web.php');
35
36
        $this->loadMigrationsFrom(__DIR__ . '/../migrations');
37
38
        $this->app->singleton(StorageConnectManager::class, function ($app) {
39
            return new StorageConnectManager($app);
40
        });
41
        $this->app->alias(StorageConnectManager::class, 'sts.storage-connect');
42
    }
43
44
    /**
45
     * Get the services provided by the provider.
46
     *
47
     * @return array
48
     */
49
    public function provides()
50
    {
51
        return ['sts.storage-connect', StorageConnectManager::class];
52
    }
53
}
54