Passed
Pull Request — master (#36)
by
unknown
04:41
created

TransferFactory   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
c 1
b 0
f 0
dl 0
loc 35
rs 10
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A create() 0 13 2
1
<?php
2
/**
3
 * Copyright © 2016 Magento. All rights reserved.
4
 * See COPYING.txt for license details.
5
 */
6
namespace Pagantis\Pagantis\Gateway\Http;
7
8
use Magento\Payment\Gateway\Http\TransferBuilder;
9
use Magento\Payment\Gateway\Http\TransferFactoryInterface;
10
use Magento\Payment\Gateway\Http\TransferInterface;
11
use Pagantis\Pagantis\Gateway\Request\MockDataRequest;
12
13
class TransferFactory implements TransferFactoryInterface
14
{
15
    /**
16
     * @var TransferBuilder
17
     */
18
    private $transferBuilder;
19
20
    /**
21
     * @param TransferBuilder $transferBuilder
22
     */
23
    public function __construct(
24
        TransferBuilder $transferBuilder
25
    ) {
26
        $this->transferBuilder = $transferBuilder;
27
    }
28
29
    /**
30
     * Builds gateway transfer object
31
     *
32
     * @param array $request
33
     * @return TransferInterface
34
     */
35
    public function create(array $request)
36
    {
37
        return $this->transferBuilder
38
            ->setBody($request)
39
            ->setMethod('POST')
40
            ->setHeaders(
41
                [
42
                    'force_result' => isset($request[MockDataRequest::FORCE_RESULT])
43
                        ? $request[MockDataRequest::FORCE_RESULT]
44
                        : null
45
                ]
46
            )
47
            ->build();
48
    }
49
}
50