class Rubame::Client
Attributes
closed[RW]
frame[RW]
handshake[RW]
messaged[RW]
opened[RW]
socket[RW]
Public Class Methods
new(socket, handshake, server)
click to toggle source
# File lib/rubame/server.rb, line 98 def initialize(socket, handshake, server) @socket = socket @handshake = handshake @frame = WebSocket::Frame::Incoming::Server.new(version: @handshake.version) @opened = false @messaged = [] @closed = false @server = server end
Public Instance Methods
onclose(&blk)
click to toggle source
# File lib/rubame/server.rb, line 136 def onclose(&blk) return unless @closed blk.call ensure # do nothing end
onmessage(&blk)
click to toggle source
# File lib/rubame/server.rb, line 128 def onmessage(&blk) @messaged.each do |x| blk.call(x.to_s) end ensure @messaged = [] end
onopen(&blk)
click to toggle source
# File lib/rubame/server.rb, line 121 def onopen(&blk) return unless @opened blk.call ensure @opened = false end
send_data(data, binary = false)
click to toggle source
# File lib/rubame/server.rb, line 112 def send_data(data, binary = false) type = binary ? :binary : :text frame = WebSocket::Frame::Outgoing::Server.new(version: @handshake.version, data: data, type: type) @socket.write frame @socket.flush rescue @server.close(self) unless @closed end
write(data)
click to toggle source
# File lib/rubame/server.rb, line 108 def write(data) @socket.write data end