CrefoPayApiDependencyProvider   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 72
Duplicated Lines 0 %

Importance

Changes 3
Bugs 0 Features 0
Metric Value
wmc 4
eloc 18
c 3
b 0
f 0
dl 0
loc 72
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A provideBusinessLayerDependencies() 0 8 1
A addCrefoPayApiService() 0 7 1
A addUtilEncodingService() 0 7 1
A addCrefoPayApiHttpClient() 0 7 1
1
<?php
2
3
/**
4
 * MIT License
5
 * For full license information, please view the LICENSE file that was distributed with this source code.
6
 */
7
8
namespace SprykerEco\Zed\CrefoPayApi;
9
10
use Spryker\Zed\Kernel\AbstractBundleDependencyProvider;
11
use Spryker\Zed\Kernel\Container;
12
use SprykerEco\Zed\CrefoPayApi\Dependency\External\Guzzle\CrefoPayApiGuzzleHttpClientAdapter;
13
use SprykerEco\Zed\CrefoPayApi\Dependency\Service\CrefoPayApiToUtilEncodingServiceBridge;
14
15
/**
16
 * @method \SprykerEco\Zed\CrefoPayApi\CrefoPayApiConfig getConfig()
17
 */
18
class CrefoPayApiDependencyProvider extends AbstractBundleDependencyProvider
19
{
20
    /**
21
     * @var string
22
     */
23
    public const SERVICE_UTIL_ENCODING = 'SERVICE_UTIL_ENCODING';
24
25
    /**
26
     * @var string
27
     */
28
    public const SERVICE_CREFO_PAY_API = 'SERVICE_CREFO_PAY_API';
29
30
    /**
31
     * @var string
32
     */
33
    public const CREFO_PAY_API_HTTP_CLIENT = 'CREFO_PAY_API_HTTP_CLIENT';
34
35
    /**
36
     * @param \Spryker\Zed\Kernel\Container $container
37
     *
38
     * @return \Spryker\Zed\Kernel\Container
39
     */
40
    public function provideBusinessLayerDependencies(Container $container): Container
41
    {
42
        $container = parent::provideBusinessLayerDependencies($container);
43
        $container = $this->addUtilEncodingService($container);
44
        $container = $this->addCrefoPayApiService($container);
45
        $container = $this->addCrefoPayApiHttpClient($container);
46
47
        return $container;
48
    }
49
50
    /**
51
     * @param \Spryker\Zed\Kernel\Container $container
52
     *
53
     * @return \Spryker\Zed\Kernel\Container
54
     */
55
    protected function addUtilEncodingService(Container $container): Container
56
    {
57
        $container->set(static::SERVICE_UTIL_ENCODING, function (Container $container) {
58
            return new CrefoPayApiToUtilEncodingServiceBridge($container->getLocator()->utilEncoding()->service());
59
        });
60
61
        return $container;
62
    }
63
64
    /**
65
     * @param \Spryker\Zed\Kernel\Container $container
66
     *
67
     * @return \Spryker\Zed\Kernel\Container
68
     */
69
    protected function addCrefoPayApiService(Container $container): Container
70
    {
71
        $container->set(static::SERVICE_CREFO_PAY_API, function (Container $container) {
72
            return $container->getLocator()->crefoPayApi()->service();
73
        });
74
75
        return $container;
76
    }
77
78
    /**
79
     * @param \Spryker\Zed\Kernel\Container $container
80
     *
81
     * @return \Spryker\Zed\Kernel\Container
82
     */
83
    protected function addCrefoPayApiHttpClient(Container $container): Container
84
    {
85
        $container->set(static::CREFO_PAY_API_HTTP_CLIENT, function () {
86
            return new CrefoPayApiGuzzleHttpClientAdapter();
87
        });
88
89
        return $container;
90
    }
91
}
92