class Async::WebSocket::Connection

This is a basic synchronous websocket client:

Attributes

protocol[R]

Public Class Methods

call(framer, protocol = [], **options) { |instance| ... } click to toggle source
# File lib/async/websocket/connection.rb, line 34
def self.call(framer, protocol = [], **options)
        instance = self.new(framer, Array(protocol).first, **options)
        
        return instance unless block_given?
        
        begin
                yield instance
        ensure
                instance.close
        end
end
new(framer, protocol = nil, response: nil, **options) click to toggle source
Calls superclass method
# File lib/async/websocket/connection.rb, line 46
def initialize(framer, protocol = nil, response: nil, **options)
        super(framer, **options)
        
        @protocol = protocol
        @response = response
end

Public Instance Methods

call() click to toggle source
# File lib/async/websocket/connection.rb, line 82
def call
        self.close
end
close() click to toggle source
Calls superclass method
# File lib/async/websocket/connection.rb, line 53
def close
        super
        
        if @response
                @response.finish
                @response = nil
        end
end
dump(object) click to toggle source
# File lib/async/websocket/connection.rb, line 78
def dump(object)
        JSON.dump(object)
end
parse(buffer) click to toggle source
# File lib/async/websocket/connection.rb, line 74
def parse(buffer)
        JSON.parse(buffer, symbolize_names: true)
end
read() click to toggle source
Calls superclass method
# File lib/async/websocket/connection.rb, line 64
def read
        if buffer = super
                parse(buffer)
        end
end
write(object) click to toggle source
Calls superclass method
# File lib/async/websocket/connection.rb, line 70
def write(object)
        super(dump(object))
end