Passed
Pull Request — master (#36)
by Cesar
04:43
created

TransferFactory::create()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 13
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 2
eloc 8
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 13
rs 10
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