Completed
Push — master ( ab630c...316a2b )
by Elf
01:37
created

AppsServiceProvider::setupAssets()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 2

Importance

Changes 3
Bugs 0 Features 0
Metric Value
cc 2
eloc 4
nc 2
nop 0
dl 0
loc 8
ccs 4
cts 4
cp 1
crap 2
rs 9.4285
c 3
b 0
f 0
1
<?php
2
3
namespace ElfSundae\Laravel\Apps;
4
5
use Illuminate\Support\ServiceProvider;
6
use Laravel\Lumen\Application as LumenApplication;
7
8
class AppsServiceProvider extends ServiceProvider
9
{
10
    /**
11
     * Bootstrap the service provider.
12
     *
13
     * @return void
14
     */
15 2
    public function boot()
16
    {
17 2
        AppManager::registerMacros($this->app);
18
19 2
        if ($this->app->runningInConsole()) {
20 2
            $this->publishAssets();
21
        }
22 2
    }
23
24
    /**
25
     * Publish assets from package.
26
     *
27
     * @return void
28
     */
29 2
    protected function publishAssets()
30
    {
31 2
        $this->publishes([
32 2
            __DIR__.'/../config/apps.php' => base_path('config/apps.php'),
33 2
        ], 'laravel-apps');
34 2
    }
35
36
    /**
37
     * Register the service provider.
38
     *
39
     * @return void
40
     */
41 2
    public function register()
42
    {
43 2
        $this->setupAssets();
44
45 2
        $this->app->singleton('apps', function ($app) {
46 1
            return new AppManager($app);
47 2
        });
48 2
        $this->app->alias('apps', AppManager::class);
49 2
    }
50
51
    /**
52
     * Setup package assets.
53
     *
54
     * @return void
55
     */
56 2
    protected function setupAssets()
57
    {
58 2
        if ($this->app instanceof LumenApplication) {
59
            $this->app->configure('apps'); // @codeCoverageIgnore
60
        }
61
62 2
        $this->mergeConfigFrom(__DIR__.'/../config/apps.php', 'apps');
63 2
    }
64
}
65