module PusherFake::Server
Socket and web server manager.
Public Class Methods
start()
click to toggle source
Start the servers.
@see start_socket_server
@see start_web_server
# File lib/pusher-fake/server.rb, line 13 def start EventMachine.run do start_web_server start_socket_server end end
start_socket_server()
click to toggle source
Start the WebSocket server.
# File lib/pusher-fake/server.rb, line 21 def start_socket_server EventMachine::WebSocket.start(configuration.socket_options) do |socket| socket.onopen do connection = Connection.new(socket) connection.establish socket.onmessage { |data| connection.process(data) } socket.onclose { Channel.remove(connection) } end end end
start_web_server()
click to toggle source
Start the web server.
# File lib/pusher-fake/server.rb, line 34 def start_web_server options = configuration.web_options.dup host = options.delete(:host) port = options.delete(:port) Thin::Logging.silent = true Thin::Server.new(host, port, Application).tap do |server| options.each do |key, value| server.__send__("#{key}=", value) end server.start! end end
Private Class Methods
configuration()
click to toggle source
Convenience method for access the configuration object.
@return [Configuration] The configuration object.
# File lib/pusher-fake/server.rb, line 54 def configuration PusherFake.configuration end
socket_server_options()
click to toggle source
Return a hash of options for the socket server based on the configuration.
@return [Hash] The socket server configuration options.
# File lib/pusher-fake/server.rb, line 62 def socket_server_options { host: configuration.socket_host, port: configuration.socket_port } end