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,
'unprepared' => AccountOrder::CLOSED, 'canceling' => AccountOrder::OPEN,
'canceled' => AccountOrder::CANCELED
}
- MAIN_MARKET =
CurrencyPair.new(:SATOSHI, :CLP_CENT)
- COP_MARKET =
CurrencyPair.new(:SATOSHI, :COP_CENT)
Instance Attribute Summary
Attributes inherited from BaseBackend
#name
Instance Method Summary
collapse
Methods inherited from BaseBackend
#fill_book, #generate_endpoint, #get_session, #listen_transactions, #not_supported, #withdraw_to_endpoint
Constructor Details
Returns a new instance of SurbtcBackend.
46
47
48
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 46
def initialize
super :surbtc
end
|
Instance Method Details
#cancel_order(_session, _order_id) ⇒ Object
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 89
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
72
73
74
75
76
77
78
79
80
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 72
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
82
83
84
85
86
87
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 82
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
50
51
52
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 50
def get_available_markets
[MAIN_MARKET, COP_MARKET]
end
|
#get_balance(_session, _currency) ⇒ Object
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 54
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
65
66
67
68
69
70
|
# File 'lib/trade-o-matic/adapters/surbtc_backend.rb', line 65
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
|