class AtlasRealtimeClient
Public Class Methods
new(url, key, secret, account_id)
click to toggle source
# File lib/atlasatsrt.rb, line 55 def initialize(url, key, secret, account_id) @url = url @key = key @secret = secret @account_id = account_id @client = Faye::Client.new(@url) @client.add_extension(HmacAuthExt.new(@key, @secret)) end
Public Instance Methods
cancel_order(orderid)
click to toggle source
# File lib/atlasatsrt.rb, line 105 def cancel_order(orderid) send_action(:action => "order:cancel", :oid => orderid) end
place_limit_order(client_order_id, item, currency, side, quantity, price)
click to toggle source
# File lib/atlasatsrt.rb, line 97 def place_limit_order(client_order_id, item, currency, side, quantity, price) send_action(:action => "order:create", :item => item, :currency => currency, :side => side, :quantity => quantity, :type => "limit", :price => price, :clid => client_order_id) end
place_market_order(client_order_id, item, currency, side, quantity)
click to toggle source
# File lib/atlasatsrt.rb, line 101 def place_market_order(client_order_id, item, currency, side, quantity) send_action(:action => "order:create", :item => item, :currency => currency, :side => side, :quantity => quantity, :type => "market", :clid => client_order_id) end
request_spinup()
click to toggle source
symbols = nil for all symbols, otherwise please provide array
# File lib/atlasatsrt.rb, line 66 def request_spinup # account # -> account params request_spinup_accountinfo # -> recent orders request_spinup_orders # market data request_spinup_book end
subscribe_book(&block)
click to toggle source
# File lib/atlasatsrt.rb, line 90 def subscribe_book(&block) @client.subscribe "/market" do |message| book = JSON.parse(message) block.call(book) end end
subscribe_orders(&block)
click to toggle source
# File lib/atlasatsrt.rb, line 76 def subscribe_orders(&block) @client.subscribe "/account/#{@account_id}/orders" do |message| order = JSON.parse(message) block.call(order) end end
subscribe_trades(&block)
click to toggle source
# File lib/atlasatsrt.rb, line 83 def subscribe_trades(&block) @client.subscribe "/trades" do |message| trade = JSON.parse(message) block.call(trade) end end
Private Instance Methods
create_request!(obj)
click to toggle source
# File lib/atlasatsrt.rb, line 127 def create_request!(obj) @client.publish("/requests/#{@account_id}", to_message(obj)) end
request_spinup_accountinfo()
click to toggle source
# File lib/atlasatsrt.rb, line 115 def request_spinup_accountinfo create_request!(:type => "account") end
request_spinup_book()
click to toggle source
# File lib/atlasatsrt.rb, line 123 def request_spinup_book create_request!(:type => "book") end
request_spinup_orders()
click to toggle source
# File lib/atlasatsrt.rb, line 119 def request_spinup_orders create_request!(:type => "orders") end
send_action(obj)
click to toggle source
# File lib/atlasatsrt.rb, line 111 def send_action(obj) @client.publish("/actions", to_message(obj)) end
to_message(obj)
click to toggle source
# File lib/atlasatsrt.rb, line 131 def to_message(obj) obj.to_json end