Class: GameServer::RequestParser

Inherits:
Object
  • Object
show all
Defined in:
lib/request_parser.rb

Defined Under Namespace

Classes: ParserError

Instance Method Summary collapse

Instance Method Details

#parseObject

Return

<GameServer::Request>

объект команды, которая передана

юзером.

Raises

<GameServer::RequestParser::ParserError>

в случае если синтакси

не верной, это не JSON или это не JSON массив, или первый член json массива не строка



13
14
15
16
17
18
19
20
# File 'lib/request_parser.rb', line 13

def parse
  request_array = JSON.parse(data.gsub("\000", ""))
  parser_error('Not Array') unless request_array.is_a?(Array)
  parser_error('No request given') unless request_array[0].is_a?(String)
  GameServer::Request.new(request_array[0], request_array[1, request_array.size])
rescue JSON::ParserError => e
  parser_error("Bad JSON")
end