Completed
Push — master ( 23ee92...69fe25 )
by Fabian
01:31
created

AddOrderRequest::getVisibility()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

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