Class: Metybur::Connection
- Inherits:
-
Object
- Object
- Metybur::Connection
- Defined in:
- lib/metybur.rb
Instance Method Summary collapse
- #connect_client(client = Metybur::Client.new(@credentials)) ⇒ Object
-
#initialize(url, credentials) ⇒ Connection
constructor
A new instance of Connection.
Constructor Details
#initialize(url, credentials) ⇒ Connection
Returns a new instance of Connection.
36 37 38 |
# File 'lib/metybur.rb', line 36 def initialize(url, credentials) @url, @credentials = url, credentials end |
Instance Method Details
#connect_client(client = Metybur::Client.new(@credentials)) ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/metybur.rb', line 40 def connect_client(client = Metybur::Client.new(@credentials)) websocket = CONFIG[:websocket_client_class].new(@url) client.websocket = websocket client.connect logging_middleware = Metybur::LoggingMiddleware.new json_middleware = Metybur::JSONMiddleware.new ping_pong_middleware = Metybur::PingPongMiddleware.new(websocket) middleware = [logging_middleware, json_middleware, ping_pong_middleware] websocket.on(:open) do |event| middleware.inject(event) { |e, mw| mw.open(e) } end websocket.on(:message) do |event| middleware.inject(event) { |e, mw| mw.(e) } end websocket.on(:close) do |event| middleware.inject(event) { |e, mw| mw.close(e) } # Reconnect connect_client(client) end client end |