rakie 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 81b73eacd5a896ae3c13192543965d353a0b2dcd1e1ae021664e91793d130d77
4
- data.tar.gz: bf30ef52373d98df118064c99aaaf7465e6ac8f684d0d49bea01f7d9c6f1a5ff
3
+ metadata.gz: 1e8894b95a11cbe14455b61e0df6fbbd6e9e8ded9e6a723ca2a36e9d6d05256d
4
+ data.tar.gz: 52d125bf806aacbde166336054a14ddbbc7f2bf5dab097a5050c5339e94e3a86
5
5
  SHA512:
6
- metadata.gz: 8a2152503ca81745b8ed0cc467826cd8efd4d8006b8760ed102500f80c3bc88bf946196d03bc3242f87e7db512152147781384be05d891d51fa4aca4928428d2
7
- data.tar.gz: 29934b5f3ecf636d047c04b00a83e45ddf54a581476f65b23cfe106f231c9cf399536d42f5b2b194ed96c747c41639999be7009e4521481ae989727b4902e5eb
6
+ metadata.gz: 047cf559ae5bd1a4bb90f1ad04c83f9635d2d0368606612917a8a78d1799138167666d768ebd62c84998153a478281c3adc24bcc3071af8146190649e31c3141
7
+ data.tar.gz: c2c07ca6562b9631521e4482653a7af948f8f39c20a001f2220dea1a0dfca808473b0b9ffe53b76976aa1962e81a1a1ce2bd1216377ee737acb367a27109c7c7
data/lib/rakie/channel.rb CHANGED
@@ -104,15 +104,20 @@ module Rakie
104
104
  end
105
105
 
106
106
  def on_detach(io)
107
+ if io.closed?
108
+ return
109
+ end
110
+
107
111
  begin
108
112
  io.close
109
113
 
110
- if @delegate
111
- @delegate.on_close(self)
112
- end
113
-
114
114
  rescue
115
115
  Log.debug("Channel is already closed")
116
+ return
117
+ end
118
+
119
+ if @delegate
120
+ @delegate.on_close(self)
116
121
  end
117
122
 
118
123
  Log.debug("Channel close ok")
data/lib/rakie/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Rakie
2
- VERSION = [0, 0, 8]
2
+ VERSION = [0, 0, 9]
3
3
 
4
4
  def self.version_s
5
5
  VERSION.join('.')
@@ -42,12 +42,18 @@ module Rakie
42
42
  if message.op_code == WebsocketMessage::OP_PING
43
43
  response.fin = true
44
44
  response.op_code = WebsocketMessage::OP_PONG
45
- response.payload = "pong"
45
+ response.payload = "Rakie::Websocket: op pong"
46
46
 
47
47
  elsif message.op_code == WebsocketMessage::OP_PONG
48
48
  response.fin = true
49
49
  response.op_code = WebsocketMessage::OP_PING
50
- response.payload = "ping"
50
+ response.payload = "Rakie::Websocket: op ping"
51
+
52
+ elsif message.op_code == WebsocketMessage::OP_CLOSE
53
+ channel.close
54
+
55
+ Log.debug("Rakie::Websocket: op close")
56
+ return 0
51
57
 
52
58
  elsif @delegate
53
59
  @delegate.on_message(self, message.payload)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rakie
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jakit Liang
@@ -52,7 +52,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0'
54
54
  requirements: []
55
- rubygems_version: 3.1.2
55
+ rubygems_version: 3.0.9
56
56
  signing_key:
57
57
  specification_version: 4
58
58
  summary: Rakie!