steam-client 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,194 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://steamcommunity.com/profiles/76561197960435530?xml=1
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept:
11
+ - ! '*/*; q=0.5, application/xml'
12
+ Accept-Encoding:
13
+ - gzip, deflate
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 302
19
+ message: !binary |-
20
+ Rm91bmQ=
21
+ headers:
22
+ !binary "U2VydmVy":
23
+ - !binary |-
24
+ QXBhY2hl
25
+ !binary "U2V0LUNvb2tpZQ==":
26
+ - !binary |-
27
+ U3RlYW1fTGFuZ3VhZ2U9ZW5nbGlzaDsgZXhwaXJlcz1GcmksIDE1LURlYy0y
28
+ MDE3IDAyOjA3OjA0IEdNVDsgcGF0aD0v
29
+ - !binary |-
30
+ c2Vzc2lvbmlkPU1UVTVPVGMyTWpReE5RJTNEJTNEOyBwYXRoPS8=
31
+ !binary "RXhwaXJlcw==":
32
+ - !binary |-
33
+ U3VuLCAxNiBEZWMgMjAxMiAwMzowNzowNCBHTVQ=
34
+ !binary "TG9jYXRpb24=":
35
+ - !binary |-
36
+ aHR0cDovL3N0ZWFtY29tbXVuaXR5LmNvbS9pZC9yb2JpbndhbGtlci8/eG1s
37
+ PTEmbD1lbmdsaXNo
38
+ !binary "Q29udGVudC1FbmNvZGluZw==":
39
+ - !binary |-
40
+ Z3ppcA==
41
+ !binary "VmFyeQ==":
42
+ - !binary |-
43
+ QWNjZXB0LUVuY29kaW5n
44
+ !binary "Q29udGVudC1UeXBl":
45
+ - !binary |-
46
+ dGV4dC9odG1sOyBjaGFyc2V0PVVURi04
47
+ !binary "Q29udGVudC1MZW5ndGg=":
48
+ - !binary |-
49
+ MjY=
50
+ !binary "RGF0ZQ==":
51
+ - !binary |-
52
+ U3VuLCAxNiBEZWMgMjAxMiAwMjowNzowNCBHTVQ=
53
+ !binary "WC1WYXJuaXNo":
54
+ - !binary |-
55
+ MTcwNzY2NTQwNQ==
56
+ !binary "QWdl":
57
+ - !binary |-
58
+ MA==
59
+ !binary "Vmlh":
60
+ - !binary |-
61
+ MS4xIHZhcm5pc2g=
62
+ !binary "Q29ubmVjdGlvbg==":
63
+ - !binary |-
64
+ a2VlcC1hbGl2ZQ==
65
+ body:
66
+ encoding: ASCII-8BIT
67
+ string: !binary |-
68
+ H4sIAAAAAAAAAwIAAAD//wMAAAAAAAAAAAA=
69
+ http_version:
70
+ recorded_at: Sun, 16 Dec 2012 02:07:04 GMT
71
+ - request:
72
+ method: get
73
+ uri: http://steamcommunity.com/id/robinwalker/?l=english&xml=1
74
+ body:
75
+ encoding: US-ASCII
76
+ string: ''
77
+ headers:
78
+ Accept:
79
+ - ! '*/*; q=0.5, application/xml'
80
+ Accept-Encoding:
81
+ - gzip, deflate
82
+ Cookie:
83
+ - Steam_Language=english; sessionid=MTU5OTc2MjQxNQ==
84
+ User-Agent:
85
+ - Ruby
86
+ response:
87
+ status:
88
+ code: 200
89
+ message: !binary |-
90
+ T0s=
91
+ headers:
92
+ !binary "U2VydmVy":
93
+ - !binary |-
94
+ QXBhY2hl
95
+ !binary "U2V0LUNvb2tpZQ==":
96
+ - !binary |-
97
+ U3RlYW1fTGFuZ3VhZ2U9ZW5nbGlzaDsgZXhwaXJlcz1GcmksIDE1LURlYy0y
98
+ MDE3IDAyOjA3OjA1IEdNVDsgcGF0aD0v
99
+ - !binary |-
100
+ c2Vzc2lvbmlkPU1UTXdOakEyTURNeE1RJTNEJTNEOyBwYXRoPS8=
101
+ !binary "RXhwaXJlcw==":
102
+ - !binary |-
103
+ U3VuLCAxNiBEZWMgMjAxMiAwMzowNzowNSBHTVQ=
104
+ !binary "Q29udGVudC1FbmNvZGluZw==":
105
+ - !binary |-
106
+ Z3ppcA==
107
+ !binary "VmFyeQ==":
108
+ - !binary |-
109
+ QWNjZXB0LUVuY29kaW5n
110
+ !binary "Q29udGVudC1UeXBl":
111
+ - !binary |-
112
+ dGV4dC94bWw7IGNoYXJzZXQ9dXRmLTg=
113
+ !binary "Q29udGVudC1MZW5ndGg=":
114
+ - !binary |-
115
+ MjYwMA==
116
+ !binary "RGF0ZQ==":
117
+ - !binary |-
118
+ U3VuLCAxNiBEZWMgMjAxMiAwMjowNzowNiBHTVQ=
119
+ !binary "WC1WYXJuaXNo":
120
+ - !binary |-
121
+ MTcwNzY2NjQ5Nw==
122
+ !binary "QWdl":
123
+ - !binary |-
124
+ MA==
125
+ !binary "Vmlh":
126
+ - !binary |-
127
+ MS4xIHZhcm5pc2g=
128
+ !binary "Q29ubmVjdGlvbg==":
129
+ - !binary |-
130
+ a2VlcC1hbGl2ZQ==
131
+ body:
132
+ encoding: ASCII-8BIT
133
+ string: !binary |-
134
+ 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
192
+ http_version:
193
+ recorded_at: Sun, 16 Dec 2012 02:07:06 GMT
194
+ recorded_with: VCR 2.3.0
@@ -0,0 +1,27 @@
1
+ require 'spec_helper'
2
+
3
+ describe SteamClient::Profile do
4
+
5
+ it "Should be parsed from XML" do
6
+ VCR.use_cassette('steam_profile') do
7
+ profile = @client.find_profile_by_name("robinwalker")
8
+
9
+ profile.class.should be SteamClient::Profile
10
+ profile.steamID64.should match "76561197960435530"
11
+ profile.avatarIcon.should match "http://media.steampowered.com/steamcommunity/public/images/avatars/f1/f1dd60a188883caf82d0cbfccfe6aba0af1732d4.jpg"
12
+ profile.avatarMedium.should match "http://media.steampowered.com/steamcommunity/public/images/avatars/f1/f1dd60a188883caf82d0cbfccfe6aba0af1732d4_medium.jpg"
13
+ profile.avatarFull.should match "http://media.steampowered.com/steamcommunity/public/images/avatars/f1/f1dd60a188883caf82d0cbfccfe6aba0af1732d4_full.jpg"
14
+ profile.customURL.should match "robinwalker"
15
+ profile.hoursPlayed2Wk.should eq(77.7)
16
+ profile.location.should match "Bellevue, Washington, United States"
17
+ profile.realname.should match "Robin Walker"
18
+ profile.onlineState.should be SteamClient::OnlineState::OFFLINE
19
+ end
20
+ end
21
+
22
+ it "should throw an error on an invalid ID" do
23
+ VCR.use_cassette('steam_invalid_ID') do
24
+ lambda {@client.find_profile_by_id("1")}.should raise_error SteamClient::Error::ProfileNotFound
25
+ end
26
+ end
27
+ end
data/spec/spec_helper.rb CHANGED
@@ -1 +1,18 @@
1
- require_relative '../lib/steam-client'
1
+ require_relative '../lib/steam-client'
2
+
3
+ require 'webmock/rspec'
4
+ require 'vcr'
5
+
6
+ VCR.configure do |c|
7
+ c.cassette_library_dir = 'spec/fixtures/vcr_cassettes'
8
+ c.hook_into :webmock
9
+ end
10
+
11
+ RSpec.configure do |config|
12
+ config.before(:all) do
13
+ VCR.use_cassette('steam_profile_id') do
14
+ @client = SteamClient::Client.new("XXXXXXXXX")
15
+ @profile = @client.find_profile_by_id("76561197960435530")
16
+ end
17
+ end
18
+ 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.1
4
+ version: 0.0.2
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-04 00:00:00.000000000 Z
12
+ date: 2012-12-16 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: Steam Client
15
15
  email:
@@ -26,8 +26,16 @@ files:
26
26
  - Rakefile
27
27
  - lib/steam-client.rb
28
28
  - lib/steam-client/client.rb
29
+ - lib/steam-client/game.rb
30
+ - lib/steam-client/profile.rb
29
31
  - lib/steam-client/version.rb
30
32
  - spec/client_spec.rb
33
+ - spec/fixtures/vcr_cassettes/steam_invalid_ID.yml
34
+ - spec/fixtures/vcr_cassettes/steam_profile.yml
35
+ - spec/fixtures/vcr_cassettes/steam_profile_friends.yml
36
+ - spec/fixtures/vcr_cassettes/steam_profile_game_list.yml
37
+ - spec/fixtures/vcr_cassettes/steam_profile_id.yml
38
+ - spec/profile_spec.rb
31
39
  - spec/spec_helper.rb
32
40
  - steam-client.gemspec
33
41
  homepage: https://github.com/BrianMMcClain/steam-client-ruby
@@ -44,7 +52,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
44
52
  version: '0'
45
53
  segments:
46
54
  - 0
47
- hash: -3433636063998420382
55
+ hash: 1807455202380441481
48
56
  required_rubygems_version: !ruby/object:Gem::Requirement
49
57
  none: false
50
58
  requirements:
@@ -59,4 +67,10 @@ specification_version: 3
59
67
  summary: ''
60
68
  test_files:
61
69
  - spec/client_spec.rb
70
+ - spec/fixtures/vcr_cassettes/steam_invalid_ID.yml
71
+ - spec/fixtures/vcr_cassettes/steam_profile.yml
72
+ - spec/fixtures/vcr_cassettes/steam_profile_friends.yml
73
+ - spec/fixtures/vcr_cassettes/steam_profile_game_list.yml
74
+ - spec/fixtures/vcr_cassettes/steam_profile_id.yml
75
+ - spec/profile_spec.rb
62
76
  - spec/spec_helper.rb