RatepayFactory::createRatepayHandler()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 4
rs 10
1
<?php
2
3
/**
4
 * MIT License
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerEco\Yves\Ratepay;
9
10
use Spryker\Yves\Kernel\AbstractFactory;
11
use SprykerEco\Yves\Ratepay\Form\DataProvider\ElvDataProvider;
12
use SprykerEco\Yves\Ratepay\Form\DataProvider\InstallmentDataProvider;
13
use SprykerEco\Yves\Ratepay\Form\DataProvider\InvoiceDataProvider;
14
use SprykerEco\Yves\Ratepay\Form\DataProvider\PrepaymentDataProvider;
15
use SprykerEco\Yves\Ratepay\Form\ElvSubForm;
16
use SprykerEco\Yves\Ratepay\Form\InstallmentSubForm;
17
use SprykerEco\Yves\Ratepay\Form\InvoiceSubForm;
18
use SprykerEco\Yves\Ratepay\Form\PrepaymentSubForm;
19
use SprykerEco\Yves\Ratepay\Handler\RatepayHandler;
20
21
/**
22
 * @method \SprykerEco\Zed\Ratepay\RatepayConfig getConfig()
23
 */
24
class RatepayFactory extends AbstractFactory
25
{
26
    /**
27
     * @return \SprykerEco\Yves\Ratepay\Handler\RatepayHandlerInterface
28
     */
29
    public function createRatepayHandler()
30
    {
31
        return new RatepayHandler(
32
            $this->getRatepayClient()
33
        );
34
    }
35
36
    /**
37
     * @return \Spryker\Yves\StepEngine\Dependency\Form\SubFormInterface
38
     */
39
    public function createInvoiceForm()
40
    {
41
        return new InvoiceSubForm();
42
    }
43
44
    /**
45
     * @return \Spryker\Yves\StepEngine\Dependency\Form\StepEngineFormDataProviderInterface
46
     */
47
    public function createInvoiceFormDataProvider()
48
    {
49
        return new InvoiceDataProvider();
50
    }
51
52
    /**
53
     * @return \Spryker\Yves\StepEngine\Dependency\Form\SubFormInterface
54
     */
55
    public function createElvForm()
56
    {
57
        return new ElvSubForm();
58
    }
59
60
    /**
61
     * @return \Spryker\Yves\StepEngine\Dependency\Form\StepEngineFormDataProviderInterface
62
     */
63
    public function createElvFormDataProvider()
64
    {
65
        return new ElvDataProvider();
66
    }
67
68
    /**
69
     * @return \Spryker\Yves\StepEngine\Dependency\Form\SubFormInterface
70
     */
71
    public function createPrepaymentForm()
72
    {
73
        return new PrepaymentSubForm();
74
    }
75
76
    /**
77
     * @return \Spryker\Yves\StepEngine\Dependency\Form\StepEngineFormDataProviderInterface
78
     */
79
    public function createPrepaymentFormDataProvider()
80
    {
81
        return new PrepaymentDataProvider();
82
    }
83
84
    /**
85
     * @return \Spryker\Yves\StepEngine\Dependency\Form\SubFormInterface
86
     */
87
    public function createInstallmentForm()
88
    {
89
        return new InstallmentSubForm();
90
    }
91
92
    /**
93
     * @return \Spryker\Yves\StepEngine\Dependency\Form\StepEngineFormDataProviderInterface
94
     */
95
    public function createInstallmentFormDataProvider()
96
    {
97
        return new InstallmentDataProvider(
98
            $this->getRatepayClient(),
99
            $this->getSessionClient()
100
        );
101
    }
102
103
    /**
104
     * @return \SprykerEco\Client\Ratepay\RatepayClientInterface
105
     */
106
    public function getRatepayClient()
107
    {
108
        return $this->getProvidedDependency(RatepayDependencyProvider::CLIENT_RATEPAY);
109
    }
110
111
    /**
112
     * @return \Spryker\Client\Session\SessionClientInterface
113
     */
114
    protected function getSessionClient()
115
    {
116
        return $this->getProvidedDependency(RatepayDependencyProvider::CLIENT_SESSION);
117
    }
118
}
119