Class: Binance::Client::WebSocket
- Inherits:
-
Object
- Object
- Binance::Client::WebSocket
- Defined in:
- lib/binance/client/websocket.rb
Overview
Public: Client with methods mirroring the Binance WebSocket API
Constant Summary collapse
- BASE_URL =
Public: String base url for WebSocket client to use
'wss://stream.binance.com:9443'.freeze
Instance Method Summary collapse
-
#agg_trade(symbol:, methods:) ⇒ Object
Public: Create an Aggregate Trade stream.
-
#all_market_ticker(methods:) ⇒ Object
Public: Create a Ticker stream for all symbols.
-
#diff_depth(symbol:, methods:) ⇒ Object
Public: Create a Diff Depth stream.
-
#kline(symbol:, interval:, methods:) ⇒ Object
Public: Create an Kline stream.
-
#multi(streams:, methods:) ⇒ Object
Public: Create multiple WebSocket streams.
-
#partial_book_depth(symbol:, level:, methods:) ⇒ Object
Public: Create an Partial Book Depth stream.
-
#single(stream:, methods:) ⇒ Object
Public: Create a single WebSocket stream.
-
#ticker(symbol:, methods:) ⇒ Object
Public: Create a Ticker stream.
-
#trade(symbol:, methods:) ⇒ Object
Public: Create a Trade stream.
-
#user_data(listen_key:, methods:) ⇒ Object
Public: Create a User Data stream.
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)
60 61 62 |
# File 'lib/binance/client/websocket.rb', line 60 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)
119 120 121 |
# File 'lib/binance/client/websocket.rb', line 119 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)
151 152 153 |
# File 'lib/binance/client/websocket.rb', line 151 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)
92 93 94 95 |
# File 'lib/binance/client/websocket.rb', line 92 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)
44 45 46 47 48 |
# File 'lib/binance/client/websocket.rb', line 44 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)
136 137 138 139 |
# File 'lib/binance/client/websocket.rb', line 136 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)
24 25 26 27 |
# File 'lib/binance/client/websocket.rb', line 24 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)
107 108 109 |
# File 'lib/binance/client/websocket.rb', line 107 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)
74 75 76 |
# File 'lib/binance/client/websocket.rb', line 74 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)
166 167 168 |
# File 'lib/binance/client/websocket.rb', line 166 def user_data(listen_key:, methods:) create_stream "#{BASE_URL}/ws/#{listen_key}", methods: methods end |