class Livermore::CFResponse
Public Class Methods
new(response)
click to toggle source
# File lib/livermore/cf_response.rb, line 3 def initialize(response) @response = response end
Public Instance Methods
best_ask()
click to toggle source
# File lib/livermore/cf_response.rb, line 7 def best_ask ask = @response.body['data']['asks'].first Order.new(fetch_args(ask).merge(type: Order::ASK)) end
best_bid()
click to toggle source
# File lib/livermore/cf_response.rb, line 13 def best_bid bid = @response.body['data']['bids'].first Order.new(fetch_args(bid).merge(type: Order::BID)) end
body()
click to toggle source
# File lib/livermore/cf_response.rb, line 31 def body @response.body end
code()
click to toggle source
# File lib/livermore/cf_response.rb, line 27 def code @response.code end
fetch_args(order)
click to toggle source
# File lib/livermore/cf_response.rb, line 35 def fetch_args(order) { market: order['market_name'], id: order['id'], price: order['price'].to_f, amount: order['size'].to_f, type: order['order_type']&.to_sym, operation: order['operation_type']&.to_sym } end
open_orders()
click to toggle source
# File lib/livermore/cf_response.rb, line 19 def open_orders open_orders = @response.body['data'].select do |order| order['status'] =~ /\Aopen|partially_filled\z/ end open_orders.map { |order| Order.new(fetch_args(order)) } end