class Gameworks::Servlet::AddPlayer
Public Instance Methods
POST(request)
click to toggle source
# File lib/gameworks/servlet/add_player.rb, line 6 def POST(request) game_id = request[:path].split('/')[1] game = @server.game_registry.instance(game_id) return [404, {}, ["no such game"]] unless game if game.state == Gameworks::Game::STATE_INITIATING if player = game.add_player(request[:payload]) game.start_if_ready player.wait_for_turn do |turn_token| request[:async_cb].call [ 200, { 'Content-Type' => 'application/json', 'X-Player-ID' => player.id, 'X-Turn-Token' => turn_token }, [game.to_json(player)] ] end [-1, {}, []] else [403, {}, ["invalid player data"]] end else [410, {}, ["game already started"]] end end