Class: Canson::Websocket

Inherits:
Object
  • Object
show all
Defined in:
lib/canson/web_socket.rb

Instance Method Summary collapse

Constructor Details

#initialize(env) ⇒ Websocket

Returns a new instance of Websocket.



3
4
5
6
7
8
9
# File 'lib/canson/web_socket.rb', line 3

def initialize(env)
  @nickname = env['PATH_INFO'][1..-1].force_encoding 'UTF-8'
  @on_open = nil
  @on_close = nil
  @on_shutdown = nil
  @on_message = nil
end

Instance Method Details

#on_closeObject



31
32
33
# File 'lib/canson/web_socket.rb', line 31

def on_close
  @on_close.class.instance_exec({count: self.count}, &(@on_close.call))
end

#on_close=(responder) ⇒ Object



15
16
17
# File 'lib/canson/web_socket.rb', line 15

def on_close=(responder)
  @on_close = responder
end

#on_message(data) ⇒ Object



39
40
41
42
# File 'lib/canson/web_socket.rb', line 39

def on_message(data)
  @on_message.class.instance_exec({data: data, ws: self, nickname: @nickname},
    &(@on_message.call))
end

#on_message=(responder) ⇒ Object



23
24
25
# File 'lib/canson/web_socket.rb', line 23

def on_message=(responder)
  @on_message = responder
end

#on_openObject



27
28
29
# File 'lib/canson/web_socket.rb', line 27

def on_open
  @on_open.class.instance_exec({count: self.count}, &(@on_open.call))
end

#on_open=(responder) ⇒ Object



11
12
13
# File 'lib/canson/web_socket.rb', line 11

def on_open=(responder)
  @on_open = responder
end

#on_shutdownObject



35
36
37
# File 'lib/canson/web_socket.rb', line 35

def on_shutdown
  @on_shutdown.class.instance_exec(&(@on_shutdown.call))
end

#on_shutdown=(responder) ⇒ Object



19
20
21
# File 'lib/canson/web_socket.rb', line 19

def on_shutdown=(responder)
  @on_shutdown = responder
end