Passed
Pull Request — master (#13)
by Volodymyr
11:21 queued 04:52
created

BraintreeDependencyProvider::addSalesFacade()   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 10
c 0
b 0
f 0
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\Braintree;
9
10
use Spryker\Zed\Kernel\AbstractBundleDependencyProvider;
11
use Spryker\Zed\Kernel\Container;
12
use SprykerEco\Zed\Braintree\Dependency\Facade\BraintreeToCurrencyFacadeBridge;
13
use SprykerEco\Zed\Braintree\Dependency\Facade\BraintreeToMoneyFacadeBridge;
14
use SprykerEco\Zed\Braintree\Dependency\Facade\BraintreeToRefundFacadeBridge;
15
use SprykerEco\Zed\Braintree\Dependency\Facade\BraintreeToSalesFacadeBridge;
16
17
class BraintreeDependencyProvider extends AbstractBundleDependencyProvider
18
{
19
    public const FACADE_CURRENCY = 'FACADE_CURRENCY';
20
    public const FACADE_MONEY = 'FACADE_MONEY';
21
    public const FACADE_REFUND = 'FACADE_REFUND';
22
    public const FACADE_SALES = 'FACADE_SALES';
23
24
    /**
25
     * @param \Spryker\Zed\Kernel\Container $container
26
     *
27
     * @return \Spryker\Zed\Kernel\Container
28
     */
29
    public function provideBusinessLayerDependencies(Container $container): Container
30
    {
31
        $container = $this->addRefundFacade($container);
32
        $container = $this->addCurrencyFacade($container);
33
        $container = $this->addMoneyFacade($container);
34
        $container = $this->addSalesFacade($container);
35
36
        return $container;
37
    }
38
39
    /**
40
     * @param \Spryker\Zed\Kernel\Container $container
41
     *
42
     * @return \Spryker\Zed\Kernel\Container
43
     */
44
    protected function addRefundFacade(Container $container): Container
45
    {
46
        $container[static::FACADE_REFUND] = function (Container $container) {
47
            return new BraintreeToRefundFacadeBridge($container->getLocator()->refund()->facade());
48
        };
49
50
        return $container;
51
    }
52
53
    /**
54
     * @param \Spryker\Zed\Kernel\Container $container
55
     *
56
     * @return \Spryker\Zed\Kernel\Container
57
     */
58
    protected function addCurrencyFacade(Container $container): Container
59
    {
60
        $container[static::FACADE_CURRENCY] = function (Container $container) {
61
            return new BraintreeToCurrencyFacadeBridge($container->getLocator()->currency()->facade());
62
        };
63
64
        return $container;
65
    }
66
67
    /**
68
     * @param \Spryker\Zed\Kernel\Container $container
69
     *
70
     * @return \Spryker\Zed\Kernel\Container
71
     */
72
    protected function addMoneyFacade(Container $container): Container
73
    {
74
        $container[static::FACADE_MONEY] = function (Container $container) {
75
            return new BraintreeToMoneyFacadeBridge($container->getLocator()->money()->facade());
76
        };
77
78
        return $container;
79
    }
80
81
    /**
82
     * @param \Spryker\Zed\Kernel\Container $container
83
     *
84
     * @return \Spryker\Zed\Kernel\Container
85
     */
86
    protected function addSalesFacade(Container $container): Container
87
    {
88
        $container->set(static::FACADE_SALES, function (Container $container) {
89
            return new BraintreeToSalesFacadeBridge($container->getLocator()->sales()->facade());
90
        });
91
92
        return $container;
93
    }
94
}
95