steam-client 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,19 +12,19 @@ module SteamClient
12
12
 
13
13
  def find_profile_by_name(name)
14
14
  url = "http://steamcommunity.com/id/#{name}?xml=1"
15
- xml = RestClient.get url
15
+ xml = get_with_retries url
16
16
  return Profile.from_xml(xml)
17
17
  end
18
18
 
19
19
  def find_profile_by_id(id)
20
20
  url = "http://steamcommunity.com/profiles/#{id}?xml=1"
21
- xml = RestClient.get url
21
+ xml = get_with_retries url
22
22
  return Profile.from_xml(xml)
23
23
  end
24
24
 
25
25
  def get_friends_from_profile(profile)
26
26
  url = "http://steamcommunity.com/profiles/#{profile.steamID64}/friends?xml=1"
27
- xml = RestClient.get url
27
+ xml = get_with_retries url
28
28
  hFriends = Crack::XML.parse xml
29
29
  friends = []
30
30
  hFriends['friendsList']['friends']['friend'].each do |friendID|
@@ -36,7 +36,7 @@ module SteamClient
36
36
 
37
37
  def get_games_from_profile(profile)
38
38
  url = "http://steamcommunity.com/profiles/#{profile.steamID64}/games\?xml\=1"
39
- xml = RestClient.get url
39
+ xml = get_with_retries url
40
40
  hGames = Crack::XML.parse xml
41
41
  games = []
42
42
  hGames['gamesList']['games']['game'].each do |game|
@@ -45,5 +45,19 @@ module SteamClient
45
45
  profile.games = games
46
46
  return games
47
47
  end
48
+
49
+ def get_with_retries(url, retries = 10)
50
+ attempt = 0
51
+ while attempt < retries
52
+ begin
53
+ resp = RestClient.get url
54
+ return resp
55
+ rescue RestClient::ServiceUnavailable
56
+ attempt += 1
57
+ end
58
+ end
59
+
60
+ throw new RestClient::ServiceUnavailable
61
+ end
48
62
  end
49
63
  end
@@ -1,3 +1,3 @@
1
1
  module SteamClient
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: steam-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-16 00:00:00.000000000 Z
12
+ date: 2012-12-17 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Steam Client
15
15
  email:
@@ -52,7 +52,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
52
52
  version: '0'
53
53
  segments:
54
54
  - 0
55
- hash: -4445028520732576851
55
+ hash: 4571460617524873844
56
56
  required_rubygems_version: !ruby/object:Gem::Requirement
57
57
  none: false
58
58
  requirements: