Class: Binance::Client::WebSocketFuture

Inherits:
Object
  • Object
show all
Defined in:
lib/binance/client/websocket.rb

Constant Summary collapse

BASE_URL =

Public: String base url for WebSocket client to use

'wss://fstream.binance.com'.freeze

Instance Method Summary collapse

Instance Method Details

#agg_trade(symbol:, methods:) ⇒ Object

Public: Create an Aggregate Trade stream

:symbol - The String symbol the stream will listen to

:methods - The Hash which contains the event handler methods to pass to

         the WebSocket client
:open    - The Proc called when a stream is opened (optional)
:message - The Proc called when a stream receives a message
:error   - The Proc called when a stream receives an error (optional)
:close   - The Proc called when a stream is closed (optional)


271
272
273
# File 'lib/binance/client/websocket.rb', line 271

def agg_trade(symbol:, methods:)
	single stream: { symbol: symbol, type: 'aggTrade' }, methods: methods
end

#all_market_ticker(methods:) ⇒ Object

Public: Create a Ticker stream for all symbols

:methods - The Hash which contains the event handler methods to pass to

         the WebSocket client
:open    - The Proc called when a stream is opened (optional)
:message - The Proc called when a stream receives a message
:error   - The Proc called when a stream receives an error (optional)
:close   - The Proc called when a stream is closed (optional)


330
331
332
# File 'lib/binance/client/websocket.rb', line 330

def all_market_ticker(methods:)
	single stream: { symbol: '!ticker', type: 'arr' }, methods: methods
end

#diff_depth(symbol:, methods:) ⇒ Object

Public: Create a Diff Depth stream

:symbol - The String symbol the stream will listen to

:methods - The Hash which contains the event handler methods to pass to

         the WebSocket client
:open    - The Proc called when a stream is opened (optional)
:message - The Proc called when a stream receives a message
:error   - The Proc called when a stream receives an error (optional)
:close   - The Proc called when a stream is closed (optional)


362
363
364
# File 'lib/binance/client/websocket.rb', line 362

def diff_depth(symbol:, methods:)
	single stream: { symbol: symbol, type: 'depth' }, methods: methods
end

#kline(symbol:, interval:, methods:) ⇒ Object

Public: Create an Kline stream

:symbol - The String symbol the stream will listen to

:interval - The String interval the stream will update with. The

intervals that may be used can be found in the Binance API
docs.

:methods - The Hash which contains the event handler methods to pass to

         the WebSocket client
:open    - The Proc called when a stream is opened (optional)
:message - The Proc called when a stream receives a message
:error   - The Proc called when a stream receives an error (optional)
:close   - The Proc called when a stream is closed (optional)


303
304
305
306
# File 'lib/binance/client/websocket.rb', line 303

def kline(symbol:, interval:, methods:)
	single stream: { symbol: symbol, type: 'kline', interval: interval },
	methods: methods
end

#multi(streams:, methods:) ⇒ Object

Public: Create multiple WebSocket streams

:streams - The Array of Hashes used to define the stream. Each Hash can

         have the following keys:
:symbol   - The String symbol the stream will listen to
:type     - The String type of stream to listen to
:level    - The String level to use for the depth stream (optional)
:interval - The String interval to use for the kline stream (optional)

:methods - The Hash which contains the event handler methods to pass to

         the WebSocket client
:open    - The Proc called when a stream is opened (optional)
:message - The Proc called when a stream receives a message
:error   - The Proc called when a stream receives an error (optional)
:close   - The Proc called when a stream is closed (optional)


255
256
257
258
259
# File 'lib/binance/client/websocket.rb', line 255

def multi(streams:, methods:)
	names = streams.map { |stream| stream_url(stream) }
	create_stream("#{BASE_URL}/stream?streams=#{names.join('/')}",
	methods: methods)
end

#partial_book_depth(symbol:, level:, methods:) ⇒ Object

Public: Create an Partial Book Depth stream

:symbol - The String symbol the stream will listen to

:level - The String interval the stream will update with. The intervals

that may be used can be found in the Binance API docs.

:methods - The Hash which contains the event handler methods to pass to

         the WebSocket client
:open    - The Proc called when a stream is opened (optional)
:message - The Proc called when a stream receives a message
:error   - The Proc called when a stream receives an error (optional)
:close   - The Proc called when a stream is closed (optional)


347
348
349
350
# File 'lib/binance/client/websocket.rb', line 347

def partial_book_depth(symbol:, level:, methods:)
	single stream: { symbol: symbol, type: 'depth', level: level },
	methods: methods
end

#single(stream:, methods:) ⇒ Object

Public: Create a single WebSocket stream

:stream - The Hash used to define the stream

:symbol   - The String symbol to listen to
:type     - The String type of stream to listen to
:level    - The String level to use for the depth stream (optional)
:interval - The String interval to use for the kline stream (optional)

:methods - The Hash which contains the event handler methods to pass to

         the WebSocket client
:open    - The Proc called when a stream is opened (optional)
:message - The Proc called when a stream receives a message
:error   - The Proc called when a stream receives an error (optional)
:close   - The Proc called when a stream is closed (optional)


235
236
237
238
# File 'lib/binance/client/websocket.rb', line 235

def single(stream:, methods:)
	create_stream("#{BASE_URL}/ws/#{stream_url(stream)}",
	methods: methods)
end

#ticker(symbol:, methods:) ⇒ Object

Public: Create a Ticker stream

:symbol - The String symbol the stream will listen to

:methods - The Hash which contains the event handler methods to pass to

         the WebSocket client
:open    - The Proc called when a stream is opened (optional)
:message - The Proc called when a stream receives a message
:error   - The Proc called when a stream receives an error (optional)
:close   - The Proc called when a stream is closed (optional)


318
319
320
# File 'lib/binance/client/websocket.rb', line 318

def ticker(symbol:, methods:)
	single stream: { symbol: symbol, type: 'ticker' }, methods: methods
end

#trade(symbol:, methods:) ⇒ Object

Public: Create a Trade stream

:symbol - The String symbol the stream will listen to

:methods - The Hash which contains the event handler methods to pass to

         the WebSocket client
:open    - The Proc called when a stream is opened (optional)
:message - The Proc called when a stream receives a message
:error   - The Proc called when a stream receives an error (optional)
:close   - The Proc called when a stream is closed (optional)


285
286
287
# File 'lib/binance/client/websocket.rb', line 285

def trade(symbol:, methods:)
	single stream: { symbol: symbol, type: 'trade' }, methods: methods
end

#user_data(listen_key:, methods:) ⇒ Object

Public: Create a User Data stream

listen_key - The String key the stream will listen to, attained by

interacting with the REST API userDataStream endpoint

:methods - The Hash which contains the event handler methods to pass to

         the WebSocket client
:open    - The Proc called when a stream is opened (optional)
:message - The Proc called when a stream receives a message
:error   - The Proc called when a stream receives an error (optional)
:close   - The Proc called when a stream is closed (optional)


377
378
379
# File 'lib/binance/client/websocket.rb', line 377

def user_data(listen_key:, methods:)
	create_stream "#{BASE_URL}/ws/#{listen_key}", methods: methods
end