Completed
Push — master ( 1eb12f...b3f467 )
by Elf
04:55
created

SupportServiceProvider   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 64
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Test Coverage

Coverage 81.25%

Importance

Changes 2
Bugs 0 Features 1
Metric Value
dl 0
loc 64
ccs 26
cts 32
cp 0.8125
rs 10
c 2
b 0
f 1
wmc 6
lcom 1
cbo 3

4 Methods

Rating   Name   Duplication   Size   Complexity  
A boot() 0 4 1
A register() 0 4 1
A extendResponses() 0 8 1
B getServiceProviders() 0 28 3
1
<?php
2
3
namespace App\Support\Providers;
4
5
use App\Support\Http\ApiResponse;
6
use Illuminate\Contracts\Routing\ResponseFactory;
7
use Illuminate\Support\ServiceProvider;
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 1
            CaptchaServiceProvider::class,
49 1
            ClientServiceProvider::class,
50 1
            OptimusServiceProvider::class,
51 1
            XgPusherServiceProvider::class,
52 1
        ];
53
54 1
        if ($this->app->runningInConsole()) {
55 1
            array_push(
56 1
                $services,
57 1
                ConsoleServiceProvider::class,
58
                \BackupManager\Laravel\Laravel5ServiceProvider::class
59 1
            );
60 1
        }
61
62 1
        if ($this->app->isLocal()) {
63
            array_push(
64
                $services,
65
                \Barryvdh\Debugbar\ServiceProvider::class,
66
                \Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class
67
            );
68
        }
69
70 1
        return $services;
71
    }
72
}
73