InxmailDependencyProvider   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 109
Duplicated Lines 0 %

Importance

Changes 6
Bugs 2 Features 0
Metric Value
wmc 7
eloc 32
c 6
b 2
f 0
dl 0
loc 109
rs 10

7 Methods

Rating   Name   Duplication   Size   Complexity  
A addUtilEncodingService() 0 7 1
A addFacadeLocale() 0 7 1
A provideBusinessLayerDependencies() 0 10 1
A addFacadeProduct() 0 7 1
A addFacadeSales() 0 7 1
A addFacadeMoney() 0 7 1
A addUtilDateTimeService() 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\Inxmail;
9
10
use Spryker\Zed\Kernel\AbstractBundleDependencyProvider;
11
use Spryker\Zed\Kernel\Container;
12
use SprykerEco\Zed\Inxmail\Dependency\Facade\InxmailToLocaleFacadeBridge;
13
use SprykerEco\Zed\Inxmail\Dependency\Facade\InxmailToMoneyFacadeBridge;
14
use SprykerEco\Zed\Inxmail\Dependency\Facade\InxmailToProductFacadeBridge;
15
use SprykerEco\Zed\Inxmail\Dependency\Facade\InxmailToSalesFacadeBridge;
16
use SprykerEco\Zed\Inxmail\Dependency\Service\InxmailToUtilDateTimeServiceBridge;
17
use SprykerEco\Zed\Inxmail\Dependency\Service\InxmailToUtilEncodingServiceBridge;
18
19
class InxmailDependencyProvider extends AbstractBundleDependencyProvider
20
{
21
    public const FACADE_SALES = 'FACADE_SALES';
22
    public const FACADE_MONEY = 'FACADE_MONEY';
23
    public const FACADE_PRODUCT = 'FACADE_PRODUCT';
24
    public const FACADE_LOCALE = 'FACADE_LOCALE';
25
26
    public const UTIL_DATE_TIME_SERVICE = 'UTIL_DATE_TIME_SERVICE';
27
    public const UTIL_ENCODING_SERVICE = 'UTIL_ENCODING_SERVICE';
28
29
    /**
30
     * @param \Spryker\Zed\Kernel\Container $container
31
     *
32
     * @return \Spryker\Zed\Kernel\Container
33
     */
34
    public function provideBusinessLayerDependencies(Container $container)
35
    {
36
        $container = $this->addFacadeSales($container);
37
        $container = $this->addFacadeMoney($container);
38
        $container = $this->addFacadeProduct($container);
39
        $container = $this->addFacadeLocale($container);
40
        $container = $this->addUtilDateTimeService($container);
41
        $container = $this->addUtilEncodingService($container);
42
43
        return $container;
44
    }
45
46
    /**
47
     * @param \Spryker\Zed\Kernel\Container $container
48
     *
49
     * @return \Spryker\Zed\Kernel\Container
50
     */
51
    protected function addFacadeSales(Container $container): Container
52
    {
53
        $container[static::FACADE_SALES] = function (Container $container) {
54
            return new InxmailToSalesFacadeBridge($container->getLocator()->sales()->facade());
55
        };
56
57
        return $container;
58
    }
59
60
    /**
61
     * @param \Spryker\Zed\Kernel\Container $container
62
     *
63
     * @return \Spryker\Zed\Kernel\Container
64
     */
65
    protected function addFacadeMoney(Container $container): Container
66
    {
67
        $container[static::FACADE_MONEY] = function (Container $container) {
68
            return new InxmailToMoneyFacadeBridge($container->getLocator()->money()->facade());
69
        };
70
71
        return $container;
72
    }
73
74
    /**
75
     * @param \Spryker\Zed\Kernel\Container $container
76
     *
77
     * @return \Spryker\Zed\Kernel\Container
78
     */
79
    protected function addFacadeProduct(Container $container): Container
80
    {
81
        $container[static::FACADE_PRODUCT] = function (Container $container) {
82
            return new InxmailToProductFacadeBridge($container->getLocator()->product()->facade());
83
        };
84
85
        return $container;
86
    }
87
88
    /**
89
     * @param \Spryker\Zed\Kernel\Container $container
90
     *
91
     * @return \Spryker\Zed\Kernel\Container
92
     */
93
    protected function addFacadeLocale(Container $container): Container
94
    {
95
        $container[static::FACADE_LOCALE] = function (Container $container) {
96
            return new InxmailToLocaleFacadeBridge($container->getLocator()->locale()->facade());
97
        };
98
99
        return $container;
100
    }
101
102
    /**
103
     * @param \Spryker\Zed\Kernel\Container $container
104
     *
105
     * @return \Spryker\Zed\Kernel\Container
106
     */
107
    protected function addUtilDateTimeService(Container $container): Container
108
    {
109
        $container[static::UTIL_DATE_TIME_SERVICE] = function (Container $container) {
110
            return new InxmailToUtilDateTimeServiceBridge($container->getLocator()->utilDateTime()->service());
111
        };
112
113
        return $container;
114
    }
115
116
    /**
117
     * @param \Spryker\Zed\Kernel\Container $container
118
     *
119
     * @return \Spryker\Zed\Kernel\Container
120
     */
121
    protected function addUtilEncodingService(Container $container): Container
122
    {
123
        $container[static::UTIL_ENCODING_SERVICE] = function (Container $container) {
124
            return new InxmailToUtilEncodingServiceBridge($container->getLocator()->utilEncoding()->service());
125
        };
126
127
        return $container;
128
    }
129
}
130