Class: Skyhook::Core

Inherits:
Configuration show all
Defined in:
lib/skyhook/core.rb

Direct Known Subclasses

Game, User

Constant Summary collapse

RESTAPI =

These are default urls to use with #Service_request

{
  owned_games: "",
  shared_games: ""
}.freeze

Constants inherited from Configuration

Skyhook::Configuration::BASE, Skyhook::Configuration::FORMATS

Instance Method Summary collapse

Methods inherited from Configuration

configure

Instance Method Details

#api_referenceObject



10
11
12
13
14
15
16
17
18
# File 'lib/skyhook/core.rb', line 10

def api_reference
  url = "/ISteamWebAPIUtil/GetSupportedAPIList/v0001/"

  unless @api_key.blank?
    url << "?key=#{ self.api_key }"
  end

  request url
end

#friend_list(steamid, relationship) ⇒ Object

Raises:



60
61
62
63
64
65
# File 'lib/skyhook/core.rb', line 60

def friend_list( steamid, relationship )
  steamid = resolve_vanity steamid
  raise( ArgumentError,  'Not a valid relationship' ) unless %w{ all friend }.include? relationship

  request "/ISteamUser/GetFriendList/v1/?key=#{ self.api_key }&steamid=#{ steamid }&relationship=#{ relationship }"
end

#global_stats(appid, count = 1, names = [], options = {}) ⇒ Object

TODO (ClikeX) Test this with multiple names.



48
49
50
# File 'lib/skyhook/core.rb', line 48

def global_stats( appid, count = 1, names = [], options = {} )
  request "/ISteamUserStats/GetGlobalStatsForGame/v0001/?appidid=#{ appid }&count=#{}&name[0]=global.map.emp_isle"
end

#owned_games(steamid, options = {}) ⇒ Object



52
53
54
55
56
57
58
# File 'lib/skyhook/core.rb', line 52

def owned_games( steamid, options = {} )
  steamid = resolve_vanity steamid
  appinfo = options[:appinfo] == nil ? false : options[:appinfo]
  free_games = options[:free_games] == nil ? false : options[:free_games]

  request "/IPlayerService/GetOwnedGames/v1/?key=#{ self.api_key }&steamid=#{ steamid }&include_appinfo='#{ appinfo }'&include_played_free_games='#{ free_games }'"
end

#player_stats(appid, steamid) ⇒ Object



41
42
43
44
45
# File 'lib/skyhook/core.rb', line 41

def player_stats( appid, steamid )
  steamid = resolve_vanity steamid

  request "/ISteamUserStats/GetUserStatsForGame/v2/?key=#{self.api_key }&steamid=#{ steamid }&appid=#{ appid }"
end

#resolve_vanity(vanityurl) ⇒ Object



20
21
22
23
24
# File 'lib/skyhook/core.rb', line 20

def resolve_vanity( vanityurl )
  return vanityurl if vanityurl.is_a? Integer
  response = request "/ISteamUser/ResolveVanityURL/v0001/?key=#{ self.api_key }&vanityurl=#{ vanityurl }"
  response["response"]["steamid"].to_i
end

#user_summaries(steamids = []) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/skyhook/core.rb', line 26

def user_summaries( steamids = [] )
  steamids = [ steamids ] unless steamids.is_a? Array

  if steamids.empty?
    p 'No steamids were defined'
    return false
  end

  steamids.map! do |steamid|
    steamid = resolve_vanity steamid
  end

  request "/ISteamUser/GetPlayerSummaries/v0002/?key=#{ self.api_key }&steamids=#{ steamids }"
end