YaKassaServiceProvider   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 15
c 2
b 0
f 0
dl 0
loc 31
ccs 0
cts 18
cp 0
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A provides() 0 5 1
A register() 0 17 1
1
<?php
2
3
/**
4
 * This file is part of Ya.Kassa package.
5
 *
6
 * © Appwilio (http://appwilio.com)
7
 * © JhaoDa ()
8
 *
9
 * For the full copyright and license information, please view the LICENSE
10
 * file that was distributed with this source code.
11
 */
12
declare(strict_types=1);
13
14
namespace Appwilio\YaKassa;
15
16
use Illuminate\Support\ServiceProvider;
17
use Illuminate\Contracts\Foundation\Application;
18
19
class YaKassaServiceProvider extends ServiceProvider
20
{
21
    /** @var Application */
22
    protected $app;
23
24
    protected $defer = true;
25
26
    public function register(): void
27
    {
28
        $this->app->bind('appwilio.yakassa', function ($app) {
29
            $config = $app['config']['services.yakassa'];
30
31
            $yaKassa = new YaKassa(
32
                $config['shop_id'], $config['showcase_id'], $config['shop_password'], $config['test_mode']
33
            );
34
35
            return $yaKassa->setRequest($app['appwilio.yakassa.request']);
36
        });
37
        $this->app->alias('appwilio.yakassa', YaKassa::class);
38
39
        $this->app->bind('appwilio.yakassa.request', function ($app) {
40
            return new YaKassaRequest($app['request']->request->all());
41
        });
42
        $this->app->alias('appwilio.yakassa.request', YaKassaRequest::class);
43
    }
44
45
    public function provides(): array
46
    {
47
        return [
48
            'appwilio.yakassa', YaKassa::class,
49
            'appwilio.yakassa.request', YaKassaRequest::class
50
        ];
51
    }
52
}
53