Class: JCukeForker::StatusServer

Inherits:
Object
  • Object
show all
Includes:
Celluloid::IO, Observable
Defined in:
lib/jcukeforker/status_server.rb

Instance Method Summary collapse

Constructor Details

#initialize(port = '6333') ⇒ StatusServer

Returns a new instance of StatusServer.



9
10
11
# File 'lib/jcukeforker/status_server.rb', line 9

def initialize(port = '6333')
  @server = TCPServer.new 'localhost', port
end

Instance Method Details

#handle_connection(socket) ⇒ Object



21
22
23
24
25
26
27
28
# File 'lib/jcukeforker/status_server.rb', line 21

def handle_connection(socket)
  until socket.eof? do
    raw_message = socket.gets
    json_obj = JSON.parse raw_message
    fire json_obj.first, *json_obj[1..-1]
  end
  socket.close
end

#runObject



13
14
15
# File 'lib/jcukeforker/status_server.rb', line 13

def run
  loop { async.handle_connection @server.accept }
end

#shutdownObject



17
18
19
# File 'lib/jcukeforker/status_server.rb', line 17

def shutdown
  @server.close if @server
end