Completed
Push — master ( bd4ff0...d83768 )
by Fabian
03:55
created

AddOrderRequest::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 6
nc 1
nop 6
dl 0
loc 8
ccs 0
cts 8
cp 0
crap 2
rs 9.4285
c 0
b 0
f 0
1
<?php
2
/**
3
 * @author  Fabian Hanisch
4
 * @since   16.07.2017 18:24
5
 * @version 1.0
6
 */
7
8
namespace HanischIt\KrakenApi\Model\AddOrder;
9
10
use HanischIt\KrakenApi\Enum\VisibilityEnum;
11
use HanischIt\KrakenApi\Model\RequestInterface;
12
13
/**
14
 * Class AddOrderRequest
15
 *
16
 * @package HanischIt\KrakenApi\Model\AddOrder
17
 */
18
class AddOrderRequest implements RequestInterface
19
{
20
    /**
21
     * @var string
22
     */
23
    private $pair;
24
    /**
25
     * @var string
26
     */
27
    private $type;
28
    /**
29
     * @var string
30
     */
31
    private $orderType;
32
    /**
33
     * @var float
34
     */
35
    private $price;
36
    /**
37
     * @var float
38
     */
39
    private $volume;
40
    /**
41
     * @var bool
42
     */
43
    private $validateOnly;
44
45
    /**
46
     * AddOrderRequest constructor.
47
     *
48
     * @param string $pair
49
     * @param string $type
50
     * @param string $orderType
51
     * @param float  $price
52
     * @param float  $volume
53
     * @param bool   $validateOnly
54
     */
55
    public function __construct($pair, $type, $orderType, $price, $volume, $validateOnly = false)
56
    {
57
        $this->pair = $pair;
58
        $this->type = $type;
59
        $this->orderType = $orderType;
60
        $this->price = $price;
61
        $this->volume = $volume;
62
        $this->validateOnly = $validateOnly;
63
    }
64
65
66
    /**
67
     * Returns the api request name
68
     *
69
     * @return string
70
     */
71
    public function getMethod()
72
    {
73
        return 'AddOrder';
74
    }
75
76
    /**
77
     * @return string
78
     */
79
    public function getVisibility()
80
    {
81
        return VisibilityEnum::VISIBILITY_PRIVATE;
82
    }
83
84
    /**
85
     * @return array
86
     */
87
    public function getRequestData()
88
    {
89
        $ret = [];
90
        $ret["pair"] = $this->pair;
91
        $ret["type"] = $this->type;
92
        $ret["ordertype"] = $this->orderType;
93
        if ($this->price) {
94
            $ret["price"] = $this->price;
95
        }
96
        if ($this->volume) {
97
            $ret["volume"] = $this->volume;
98
        }
99
        if (false !== $this->validateOnly) {
100
            $ret["validate"] = $this->validateOnly;
101
        }
102
103
        return $ret;
104
    }
105
106
    /**
107
     * @return string
108
     */
109
    public function getResponseClassName()
110
    {
111
        return AddOrderResponse::class;
112
    }
113
}
114