class Trader::GameBackend::CancelOrder
Public Instance Methods
perform()
click to toggle source
# File lib/trade-o-matic/adapters/game_backend/cancel_order.rb, line 4 def perform raise ArgumentError, 'order belong to another account' if order['account'] != account raise ArgumentError, 'order already closed' if order['status'] != 'open' market['open'].delete order market['closed'] << order order['status'] = 'canceled' base_balance = state.balance_for account, market['base'] quote_balance = state.balance_for account, market['quote'] if bid? quote = SFM.quote order['volume'], order['limit'] quote_balance['available'] += quote quote_balance['frozen'] -= quote else base_balance['available'] += order['volume'] base_balance['frozen'] -= order['volume'] end GameOrder.new order end
Private Instance Methods
bid?()
click to toggle source
# File lib/trade-o-matic/adapters/game_backend/cancel_order.rb, line 29 def bid? order['instruction'] == 'bid' end
market()
click to toggle source
# File lib/trade-o-matic/adapters/game_backend/cancel_order.rb, line 37 def market result[:market] end
order()
click to toggle source
# File lib/trade-o-matic/adapters/game_backend/cancel_order.rb, line 33 def order result[:order] end
result()
click to toggle source
# File lib/trade-o-matic/adapters/game_backend/cancel_order.rb, line 41 def result @result ||= state.find_order_by_id order_id end