Class: Trader::SurbtcBackend
Defined Under Namespace
Classes: SurbtcBalance, SurbtcBalanceBTC, SurbtcOrder
Constant Summary
collapse
- API_PREFIX =
'https://www.surbtc.com/api/v1'
- TYPE_MAP =
{
'ask' => Order::ASK,
'bid' => Order::BID
}
- STATUS_MAP =
{
'received' => AccountOrder::PENDING,
'pending' => AccountOrder::OPEN,
'traded' => AccountOrder::CLOSED,
'canceling' => AccountOrder::OPEN,
'canceled' => AccountOrder::CANCELED
}
- MAIN_MARKET =
CurrencyPair.new(:SATOSHI, :CLP_CENT)
Instance Attribute Summary
Attributes inherited from BaseBackend
#name
Instance Method Summary
collapse
Methods inherited from BaseBackend
#fill_book, #generate_endpoint, #get_session, #not_supported, #withdraw_to_endpoint
Constructor Details
Returns a new instance of SurbtcBackend.
44
45
46
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 44
def initialize
super :surbtc
end
|
Instance Method Details
#cancel_order(_session, _order_id) ⇒ Object
87
88
89
90
91
92
93
94
95
96
97
98
99
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 87
def cancel_order(_session, _order_id)
res = resource_for "orders/#{_order_id}", _session
raw_order = postprocess res.put({
state: 'canceling'
}, :content_type => 'application/json')
while raw_order['order']['state'] == 'canceling'
raw_order = postprocess res.get
end
SurbtcOrder.new raw_order['order']
end
|
#create_order(_session, _pair, _volume, _price, _instruction) ⇒ Object
70
71
72
73
74
75
76
77
78
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 70
def create_order(_session, _pair, _volume, _price, _instruction)
res = resource_for "markets/#{market_code_for(_pair)}/orders", _session
raw_order = postprocess res.post({
order: build_order_json(_price, _volume, _instruction)
}, :content_type => 'application/json')
SurbtcOrder.new raw_order['order']
end
|
#fetch_order(_session, _order_id) ⇒ Object
80
81
82
83
84
85
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 80
def fetch_order(_session, _order_id)
res = resource_for "orders/#{_order_id}", _session
raw_order = postprocess res.get
SurbtcOrder.new raw_order['order']
end
|
#get_available_markets ⇒ Object
48
49
50
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 48
def get_available_markets
[MAIN_MARKET]
end
|
#get_balance(_session, _currency) ⇒ Object
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 52
def get_balance(_session, _currency)
res = resource_for "balances/#{currency_code_for(_currency)}", _session
raw_balance = postprocess res.get
if _currency == MAIN_MARKET.base
SurbtcBalanceBTC.new raw_balance['balance']
else
SurbtcBalance.new raw_balance['balance']
end
end
|
#get_orders(_session, _pair) ⇒ Object
63
64
65
66
67
68
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 63
def get_orders(_session, _pair)
res = resource_for "markets/#{market_code_for(_pair)}/orders", _session
raw_orders = postprocess res.get
raw_orders['orders'].map { |o| SurbtcOrder.new o }
end
|