class SteamTracks::Api::V1
Public Class Methods
ackSignup(token, user = nil)
click to toggle source
# File lib/steam_tracks/api/v1/signup.rb, line 22 def self.ackSignup(token, user = nil) data = { token: token } data[:user] = user unless user.nil? self.request :post, "signup/ack", data end
getSignupStatus(token)
click to toggle source
# File lib/steam_tracks/api/v1/signup.rb, line 17 def self.getSignupStatus(token) result = self.request :get, "signup/status", { token: token } return result end
getSignupToken(arguments = {})
click to toggle source
# File lib/steam_tracks/api/v1/signup.rb, line 4 def self.getSignupToken(arguments = {}) result = self.request :get, "signup/token", arguments return result["token"] if result["token"] nil end
getSignupURL(token = nil, arguments = {})
click to toggle source
# File lib/steam_tracks/api/v1/signup.rb, line 10 def self.getSignupURL(token = nil, arguments = {}) if token.nil? token = self.getSignupToken(arguments) end "#{SteamTracks.steamtracks_base}/appauth/#{token}" end
notify(options = {})
click to toggle source
# File lib/steam_tracks/api/v1/notify.rb, line 4 def self.notify(options = {}) self.request :post, "notify", options end
request(method, resource, params = {})
click to toggle source
# File lib/steam_tracks/api/v1/request.rb, line 11 def self.request method, resource, params = {} url = "#{SteamTracks.api_base}/v#{SteamTracks.api_version}/#{resource}" # add time param for security params[:t] = Time.now.to_i uri = URI.parse(url) https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true request = nil payload = params.to_json signature = Base64.encode64(OpenSSL::HMAC.digest('sha1', SteamTracks.api_secret, payload)) if method == :get uri.query = "payload=#{URI.encode(payload)}" request = Net::HTTP::Get.new(uri, { 'Content-Type' => 'application/json'}) elsif method == :post request = Net::HTTP::Post.new(uri, { 'Content-Type' => 'application/json'}) request.body = payload else raise "invalid request method" end request["SteamTracks-Key"] = SteamTracks.api_key request["SteamTracks-Signature"] = URI.encode(signature) request["ACCEPT"] = "application/json" response = https.request(request) json = JSON(response.body) if response.code.to_i != 200 raise json["error"] end return json["result"] if json.has_key?("result") json end
userChanges(from_timestamp = nil, fields = [])
click to toggle source
# File lib/steam_tracks/api/v1/users.rb, line 33 def self.userChanges(from_timestamp = nil, fields = []) arguments = {} arguments[:from_timestamp] = (from_timestamp.nil? ? 0 : from_timestamp.to_i) arguments[:fields] = fields unless fields.count == 0 self.request :get, "users/changes", arguments end
userCount()
click to toggle source
# File lib/steam_tracks/api/v1/users.rb, line 21 def self.userCount self.request :get, "users/count" end
userFlushLeavers()
click to toggle source
# File lib/steam_tracks/api/v1/users.rb, line 29 def self.userFlushLeavers self.request :post, "users/flushleavers" end
userGames()
click to toggle source
# File lib/steam_tracks/api/v1/users.rb, line 8 def self.userGames self.request :get, "users/games" end
userInfo(user32)
click to toggle source
# File lib/steam_tracks/api/v1/users.rb, line 12 def self.userInfo(user32) self.request :get, "users/info", { user: user32 } end
userLeavers()
click to toggle source
# File lib/steam_tracks/api/v1/users.rb, line 25 def self.userLeavers self.request :get, "users/leavers" end
userList(page = nil)
click to toggle source
# File lib/steam_tracks/api/v1/users.rb, line 16 def self.userList(page = nil) arguments = (page.nil? ? {} : {page: page}) self.request :get, "users", arguments end
userStates()
click to toggle source
# File lib/steam_tracks/api/v1/users.rb, line 4 def self.userStates self.request :get, "users/states" end