YaKassaServiceProvider::provides()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 3
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 5
ccs 0
cts 5
cp 0
crap 2
rs 10
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