Initial commit
This commit is contained in:
42
lib/peatio/upstream/opendax.rb
Normal file
42
lib/peatio/upstream/opendax.rb
Normal file
@@ -0,0 +1,42 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Peatio
|
||||
module Upstream
|
||||
class Opendax < Peatio::Upstream::Base
|
||||
def initialize(config)
|
||||
super
|
||||
@connection = Faraday.new(url: "#{config['rest']}") do |builder|
|
||||
builder.response :json
|
||||
builder.response :logger if config["debug"]
|
||||
builder.adapter(@adapter)
|
||||
builder.ssl[:verify] = config["verify_ssl"] unless config["verify_ssl"].nil?
|
||||
end
|
||||
@rest = "#{config['rest']}"
|
||||
@ws_url = "#{config['websocket']}/public"
|
||||
end
|
||||
|
||||
def ws_read_public_message(msg)
|
||||
if msg.keys.first.split('.').second == 'trades'
|
||||
detect_trade(msg)
|
||||
end
|
||||
end
|
||||
|
||||
def detect_trade(msg)
|
||||
msg.values.first['trades'].each do |trade|
|
||||
notify_public_trade(trade)
|
||||
end
|
||||
end
|
||||
|
||||
def subscribe_trades(market, ws)
|
||||
sub = {
|
||||
event: 'subscribe',
|
||||
streams: ["#{market}.trades"]
|
||||
}
|
||||
Rails.logger.info 'Open event' + sub.to_s
|
||||
EM.next_tick do
|
||||
ws.send(JSON.generate(sub))
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user