Class: Grenache::WebsocketServer
- Inherits:
-
Object
- Object
- Grenache::WebsocketServer
- Defined in:
- lib/grenache/websocket.rb
Instance Method Summary collapse
- #app(env) ⇒ Object
-
#initialize(port, &block) ⇒ WebsocketServer
constructor
A new instance of WebsocketServer.
- #on_close(ev) ⇒ Object
- #on_message(ev) ⇒ Object
- #send(payload) ⇒ Object
- #start_server ⇒ Object
Constructor Details
#initialize(port, &block) ⇒ WebsocketServer
Returns a new instance of WebsocketServer.
5 6 7 8 |
# File 'lib/grenache/websocket.rb', line 5 def initialize(port, &block) @port = port @callback = block end |
Instance Method Details
#app(env) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/grenache/websocket.rb', line 14 def app(env) ws = Faye::WebSocket.new(env) = -> (ev) { @callback.call(ws, ev) } ws.on :message, ws.rack_response end |
#on_close(ev) ⇒ Object
29 30 31 |
# File 'lib/grenache/websocket.rb', line 29 def on_close(ev) puts "ws closed" end |
#on_message(ev) ⇒ Object
21 22 23 |
# File 'lib/grenache/websocket.rb', line 21 def (ev) @callback.call(@ws,ev) end |
#send(payload) ⇒ Object
25 26 27 |
# File 'lib/grenache/websocket.rb', line 25 def send(payload) @server.send(payload) end |
#start_server ⇒ Object
10 11 12 |
# File 'lib/grenache/websocket.rb', line 10 def start_server @server = Thin::Server.start('0.0.0.0', @port, method(:app), {signals: false}) end |