Passed
Branch feature/ECO-808-scrutinizer (bde35b)
by Andrey
07:45
created

addUtilEncodingService()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 1
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * Apache OSL-2
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerEco\Zed\Amazonpay;
9
10
use Spryker\Zed\Kernel\AbstractBundleDependencyProvider;
11
use Spryker\Zed\Kernel\Container;
12
use SprykerEco\Zed\Amazonpay\Dependency\Facade\AmazonpayToMessengerBridge;
13
use SprykerEco\Zed\Amazonpay\Dependency\Facade\AmazonpayToMoneyBridge;
14
use SprykerEco\Zed\Amazonpay\Dependency\Facade\AmazonpayToOmsBridge;
15
use SprykerEco\Zed\Amazonpay\Dependency\Facade\AmazonpayToRefundBridge;
16
use SprykerEco\Zed\Amazonpay\Dependency\Facade\AmazonpayToSalesBridge;
17
use SprykerEco\Zed\Amazonpay\Dependency\Facade\AmazonpayToShipmentBridge;
18
use SprykerEco\Zed\Amazonpay\Dependency\Facade\AmazonpayToUtilEncodingBridge;
19
20
class AmazonpayDependencyProvider extends AbstractBundleDependencyProvider
21
{
22
23
    const FACADE_MONEY = 'money facade';
24
    const FACADE_SHIPMENT = 'shipment facade';
25
    const FACADE_SALES = 'sales facade';
26
    const FACADE_REFUND = 'refund facade';
27
    const FACADE_OMS = 'oms facade';
28
    const FACADE_MESSENGER = 'messenger facade';
29
    const SERVICE_UTIL_ENCODING = 'encoding service';
30
31
    /**
32
     * @param \Spryker\Zed\Kernel\Container $container
33
     *
34
     * @return \Spryker\Zed\Kernel\Container
35
     */
36
    public function provideBusinessLayerDependencies(Container $container)
37
    {
38
        $container = $this->addMoneyFacade($container);
39
        $container = $this->addShipmentFacade($container);
40
        $container = $this->addRefundFacade($container);
41
        $container = $this->addOmsFacade($container);
42
        $container = $this->addUtilEncodingService($container);
43
        $container = $this->addMessengerFacade($container);
44
45
        return $container;
46
    }
47
48
    /**
49
     * @param \Spryker\Zed\Kernel\Container $container
50
     *
51
     * @return \Spryker\Zed\Kernel\Container
52
     */
53
    public function provideCommunicationLayerDependencies(Container $container)
54
    {
55
        $container = $this->addRefundFacade($container);
56
        $container = $this->addSalesFacade($container);
57
        $container = $this->addOmsFacade($container);
58
59
        return $container;
60
    }
61
62
    /**
63
     * @param \Spryker\Zed\Kernel\Container $container
64
     *
65
     * @return \Spryker\Zed\Kernel\Container
66
     */
67
    protected function addSalesFacade(Container $container)
68
    {
69
        $container[self::FACADE_SALES] = function (Container $container) {
70
            return new AmazonpayToSalesBridge($container->getLocator()->sales()->facade());
71
        };
72
73
        return $container;
74
    }
75
76
    /**
77
     * @param \Spryker\Zed\Kernel\Container $container
78
     *
79
     * @return \Spryker\Zed\Kernel\Container
80
     */
81
    protected function addMoneyFacade(Container $container)
82
    {
83
        $container[self::FACADE_MONEY] = function (Container $container) {
84
            return new AmazonpayToMoneyBridge($container->getLocator()->money()->facade());
85
        };
86
87
        return $container;
88
    }
89
90
    /**
91
     * @param \Spryker\Zed\Kernel\Container $container
92
     *
93
     * @return \Spryker\Zed\Kernel\Container
94
     */
95
    protected function addShipmentFacade(Container $container)
96
    {
97
        $container[self::FACADE_SHIPMENT] = function (Container $container) {
98
            return new AmazonpayToShipmentBridge($container->getLocator()->shipment()->facade());
99
        };
100
101
        return $container;
102
    }
103
104
    /**
105
     * @param \Spryker\Zed\Kernel\Container $container
106
     *
107
     * @return \Spryker\Zed\Kernel\Container
108
     */
109
    protected function addUtilEncodingService(Container $container)
110
    {
111
        $container[self::SERVICE_UTIL_ENCODING] = function (Container $container) {
112
            return new AmazonpayToUtilEncodingBridge($container->getLocator()->utilEncoding()->service());
113
        };
114
115
        return $container;
116
    }
117
118
    /**
119
     * @param \Spryker\Zed\Kernel\Container $container
120
     *
121
     * @return \Spryker\Zed\Kernel\Container
122
     */
123
    protected function addRefundFacade(Container $container)
124
    {
125
        $container[self::FACADE_REFUND] = function (Container $container) {
126
            return new AmazonpayToRefundBridge($container->getLocator()->refund()->facade());
127
        };
128
129
        return $container;
130
    }
131
132
    /**
133
     * @param \Spryker\Zed\Kernel\Container $container
134
     *
135
     * @return \Spryker\Zed\Kernel\Container
136
     */
137
    protected function addOmsFacade(Container $container)
138
    {
139
        $container[self::FACADE_OMS] = function (Container $container) {
140
            return new AmazonpayToOmsBridge($container->getLocator()->oms()->facade());
141
        };
142
143
        return $container;
144
    }
145
146
    /**
147
     * @param \Spryker\Zed\Kernel\Container $container
148
     *
149
     * @return \Spryker\Zed\Kernel\Container
150
     */
151
    protected function addMessengerFacade(Container $container)
152
    {
153
        $container[self::FACADE_MESSENGER] = function (Container $container) {
154
            return new AmazonpayToMessengerBridge($container->getLocator()->messenger()->facade());
155
        };
156
157
        return $container;
158
    }
159
160
}
161