Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
CRAP
31.25% covered (danger)
31.25%
5 / 16
CDNApiProvider
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
9.20
31.25% covered (danger)
31.25%
5 / 16
 register
0.00% covered (danger)
0.00%
0 / 1
9.20
31.25% covered (danger)
31.25%
5 / 16
1<?php
2
3namespace Qmp\Laravel\CDNApi\Providers;
4
5use Illuminate\Support\Facades\Log;
6use Illuminate\Support\ServiceProvider;
7use Qmp\Laravel\CDNApi\Cdn\FakeCDN;
8use Qmp\Laravel\CDNApi\Cdn\InterfaceProvider;
9use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\FakeApi;
10use Qmp\Laravel\CDNApi\Cdn\KeyCDNProvider\KeyCDN;
11
12class CDNApiProvider extends ServiceProvider
13{
14    private $providerCdnDefaultToUse = KeyCDN::class;
15
16    public function register()
17    {
18        $this->app->singleton(InterfaceProvider::class, function ($app) {
19            if (env('APP_ENV') !== 'production') {
20                Log::debug('return FakeCDN in provider');
21                return new FakeCDN();
22            }
23
24            switch (env('CDN_TO_USE')) {
25                case 'KeyCDN':
26                    return new KeyCDN();
27            }
28
29            return new $this->providerCdnDefaultToUse();
30        });
31
32        $this->app->singleton(\KeyCDN::class, function ($app) {
33            if (env('APP_ENV') !== 'production') {
34                Log::debug('return FakeAPI in provider');
35                return new FakeApi();
36            }
37
38            return new \KeyCDN(env('KEYCDN_KEY', ''));
39        });
40    }
41}