module GameServer::Client

Public Instance Methods

find_controller(name) click to toggle source
# File lib/client.rb, line 33
def find_controller(name)
  "#{self.class.name}::#{name.to_s.camelize}Controller".constantize
rescue NameError
  "#{self.class.name}::NilController".constantize
end
receive_data(data) click to toggle source
# File lib/client.rb, line 20
def receive_data(data)
  @data ||= ""
  @data += data
  if data =~ /\000\n$/
    all_data = @data
    @data = ""
    all_data.gsub!("\000",'').split(/\n/).each do |string|
      request = GameServer::RequestParser.new(string).parse
      receive_request(request)
    end
  end
end
receive_request(request) click to toggle source
# File lib/client.rb, line 4
def receive_request(request)
  find_controller(request.name).new(self, request).run
rescue Exception => e
  log_exception e
end
send_json(object) click to toggle source
# File lib/client.rb, line 15
def send_json(object)
  send_line object.to_json
end
send_line(string) click to toggle source
# File lib/client.rb, line 10
def send_line(string)
  log "send_line #{string}\n"
  send_data(string + "\n")
end