class CEX::Websocket::Client

Public Instance Methods

listen_tickers() { |message| ... } click to toggle source
# File lib/cex/websocket/client.rb, line 9
def listen_tickers(&_block)
  payload = { e: :subscribe, rooms: ['tickers'] }

  subscribe(payload) do |message|
    yield message
  end
end

Private Instance Methods

config_uri() click to toggle source
# File lib/cex/websocket/client.rb, line 33
def config_uri
  CEX::Websocket.uri
end
subscribe(payload = {}) { |message| ... } click to toggle source
# File lib/cex/websocket/client.rb, line 19
def subscribe(payload = {}, &_block)
  raise 'BlockMissingError' unless block_given?

  Kontena::Websocket::Client.connect(config_uri) do |client|
    client.send(payload.to_json)

    client.read do |message|
      yield message
    end

    client.close(1000)
  end
end