Completed
Pull Request — dev (#9)
by Andrey
07:33 queued 03:42
created

addCalculationClient()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
rs 10
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\Yves\AmazonPay;
9
10
use Spryker\Yves\Kernel\AbstractBundleDependencyProvider;
11
use Spryker\Yves\Kernel\Container;
12
use SprykerEco\Yves\AmazonPay\Dependency\Client\AmazonPayToCalculationBridge;
13
use SprykerEco\Yves\AmazonPay\Dependency\Client\AmazonPayToCheckoutBridge;
14
use SprykerEco\Yves\AmazonPay\Dependency\Client\AmazonPayToCustomerBridge;
15
use SprykerEco\Yves\AmazonPay\Dependency\Client\AmazonPayToQuoteBridge;
16
use SprykerEco\Yves\AmazonPay\Dependency\Client\AmazonPayToShipmentBridge;
17
18
class AmazonPayDependencyProvider extends AbstractBundleDependencyProvider
19
{
20
    const CLIENT_QUOTE = 'cart client';
21
    const CLIENT_SHIPMENT = 'shipment client';
22
    const CLIENT_CHECKOUT = 'checkout client';
23
    const CLIENT_CUSTOMER = 'customer client';
24
    const CLIENT_CALCULATION = 'calculation client';
25
    const PLUGIN_CHECKOUT_BREADCRUMB = 'plugin checkout breadcrumb';
26
27
    /**
28
     * @param \Spryker\Yves\Kernel\Container $container
29
     *
30
     * @return \Spryker\Yves\Kernel\Container
31
     */
32
    public function provideDependencies(Container $container)
33
    {
34
        $this->addQuoteClient($container);
35
        $this->addShipmentClient($container);
36
        $this->addCheckoutClient($container);
37
        $this->addCalculationClient($container);
38
        $this->addCustomerClient($container);
39
40
        return $container;
41
    }
42
43
    /**
44
     * @param \Spryker\Yves\Kernel\Container $container
45
     *
46
     * @return void
47
     */
48
    protected function addQuoteClient(Container $container)
49
    {
50
        $container[static::CLIENT_QUOTE] = function () use ($container) {
51
            return new AmazonPayToQuoteBridge($container->getLocator()->quote()->client());
52
        };
53
    }
54
55
    /**
56
     * @param \Spryker\Yves\Kernel\Container $container
57
     *
58
     * @return void
59
     */
60
    protected function addShipmentClient(Container $container)
61
    {
62
        $container[static::CLIENT_SHIPMENT] = function () use ($container) {
63
            return new AmazonPayToShipmentBridge($container->getLocator()->shipment()->client());
64
        };
65
    }
66
67
    /**
68
     * @param \Spryker\Yves\Kernel\Container $container
69
     *
70
     * @return void
71
     */
72
    protected function addCheckoutClient(Container $container)
73
    {
74
        $container[static::CLIENT_CHECKOUT] = function () use ($container) {
75
            return new AmazonPayToCheckoutBridge($container->getLocator()->checkout()->client());
76
        };
77
    }
78
79
    /**
80
     * @param \Spryker\Yves\Kernel\Container $container
81
     *
82
     * @return void
83
     */
84
    protected function addCalculationClient(Container $container)
85
    {
86
        $container[static::CLIENT_CALCULATION] = function () use ($container) {
87
            return new AmazonPayToCalculationBridge($container->getLocator()->calculation()->client());
88
        };
89
    }
90
91
    /**
92
     * @param \Spryker\Yves\Kernel\Container $container
93
     *
94
     * @return void
95
     */
96
    protected function addCustomerClient(Container $container)
97
    {
98
        $container[static::CLIENT_CUSTOMER] = function () use ($container) {
99
            return new AmazonPayToCustomerBridge($container->getLocator()->customer()->client());
100
        };
101
    }
102
}
103