Completed
Push — master ( c88b16...2d5c1e )
by Elf
08:24 queued 05:59
created

SupportServiceProvider::getServiceProviders()   B

Complexity

Conditions 3
Paths 4

Size

Total Lines 27
Code Lines 17

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 3

Importance

Changes 2
Bugs 0 Features 1
Metric Value
cc 3
eloc 17
nc 4
nop 0
dl 0
loc 27
ccs 8
cts 8
cp 1
crap 3
rs 8.8571
c 2
b 0
f 1
1
<?php
2
3
namespace App\Support\Providers;
4
5
use App\Support\Http\ApiResponse;
6
use Illuminate\Support\ServiceProvider;
7
use Illuminate\Contracts\Routing\ResponseFactory;
8
9
class SupportServiceProvider extends ServiceProvider
10
{
11
    /**
12
     * Bootstrap the service provider.
13
     */
14 1
    public function boot()
15
    {
16 1
        $this->extendResponses();
17 1
    }
18
19
    /**
20
     * Extend responses.
21
     */
22 1
    protected function extendResponses()
23
    {
24 1
        $response = $this->app->make(ResponseFactory::class);
25
26 1
        $response->macro('api', function (...$args) {
27
            return new ApiResponse(...$args);
28 1
        });
29 1
    }
30
31
    /**
32
     * Register the service provider.
33
     */
34 1
    public function register()
35
    {
36 1
        array_map([$this->app, 'register'], $this->getServiceProviders());
37 1
    }
38
39
    /**
40
     * Get service providers to be registered.
41
     *
42
     * @return array
43
     */
44 1
    protected function getServiceProviders()
45
    {
46
        $services = [
47 1
            AppConfigServiceProvider::class,
48
            CaptchaServiceProvider::class,
49
            ClientServiceProvider::class,
50
            OptimusServiceProvider::class,
51
        ];
52
53 1
        if ($this->app->runningInConsole()) {
54 1
            array_push(
55
                $services,
56 1
                ConsoleServiceProvider::class,
57 1
                \BackupManager\Laravel\Laravel5ServiceProvider::class
58
            );
59
        }
60
61 1
        if ($this->app->isLocal()) {
62
            array_push(
63
                $services,
64
                \Barryvdh\Debugbar\ServiceProvider::class,
65
                \Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class
66
            );
67
        }
68
69 1
        return $services;
70
    }
71
}
72