Sha256: 738786816ed11fe77ec6977a079182933c728d04a60b8ac023a436f5b9bbb500

Contents?: true

Size: 1.74 KB

Versions: 3

Compression:

Stored size: 1.74 KB

Contents

module Gameball
  class Player
    def self.initialize_player(body)
      # Validating keys in incoming body
      Gameball::Utils.validate(body, ["playerAttributes", "playerUniqueId"], [])
      # .iso8601 Throws an exception if not invoked on a valid date object, so it is used to check if the dates are valid
      begin
        body[:playerAttributes][:joinDate] = body[:playerAttributes][:joinDate].iso8601
        body[:playerAttributes][:dateOfBirth] = body[:playerAttributes][:dateOfBirth].iso8601
      rescue NoMethodError => exception
        raise Gameball::GameballError.new("Invalid Date Format, Please use Time and Date objects")
      end
      # Check for HTTP Success and throws error if not success
      res = Gameball::Utils::request("post", "/integrations/player", body)
      unless res.kind_of? Net::HTTPSuccess
        if res.kind_of? Net::HTTPInternalServerError
          raise Gameball::GameballError.new("An Internal Server Error has occurred")
        else
          raise Gameball::GameballError.new(res.body) 
        end
      else
        return res
      end
    end
    def self.get_player_info(playerUniqueId)
      body = { playerUniqueId: playerUniqueId }
      body["hash"] = Gameball::Utils::hashBody(playerUniqueId: playerUniqueId)
      res = Gameball::Utils::request("post", "/integrations/Player/Info", body)
      # Check for HTTP Success and throws error if not success
      unless res.kind_of? Net::HTTPSuccess
        if res.kind_of? Net::HTTPInternalServerError
          raise Gameball::GameballError.new("An Internal Server Error has occurred")
        else
          raise Gameball::GameballError.new(res.body) 
        end
      else
        return res
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
gameball-1.0.0 lib/gameball/models/player.rb
alphaSDK-0.2.8 lib/gameball/models/player.rb
alphaSDK-0.2.7 lib/gameball/models/player.rb