stew 0.5.3 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +6 -6
  2. data/.gitignore +1 -0
  3. data/lib/stew.rb +6 -9
  4. data/lib/stew/community/profile.rb +2 -2
  5. data/lib/stew/community/profile_friends.rb +1 -1
  6. data/lib/stew/community/profile_game.rb +23 -6
  7. data/lib/stew/community/steam_id.rb +6 -21
  8. data/lib/stew/community/steam_id_resolver.rb +34 -0
  9. data/lib/stew/community/web_api_client.rb +29 -0
  10. data/lib/stew/community/web_client.rb +29 -0
  11. data/lib/stew/version.rb +1 -1
  12. data/spec/config.yml.example +1 -0
  13. data/spec/fixtures/profiles/76561197992917668.json +24 -0
  14. data/spec/fixtures/profiles/friends/76561197992917668.json +167 -0
  15. data/spec/fixtures/profiles/friends/76561197994486912.json +8 -0
  16. data/spec/fixtures/profiles/games/76561197992917668.json +789 -0
  17. data/spec/fixtures/profiles/games/76561197994486912.json +5 -0
  18. data/spec/fixtures/profiles/vanity/Phucked.json +6 -0
  19. data/spec/integration/community_web_api_integration_spec.rb +32 -0
  20. data/spec/lib/stew/community/profile_friends_spec.rb +3 -24
  21. data/spec/lib/stew/community/profile_game_spec.rb +20 -12
  22. data/spec/lib/stew/community/profile_games_spec.rb +2 -3
  23. data/spec/lib/stew/community/profile_spec.rb +2 -2
  24. data/spec/lib/stew/community/steam_id_resolver_spec.rb +82 -0
  25. data/spec/lib/stew/community/steam_id_spec.rb +22 -83
  26. data/spec/lib/stew/community/web_api_client_spec.rb +61 -0
  27. data/spec/lib/stew/community/web_client_spec.rb +17 -0
  28. data/spec/spec_helper.rb +12 -0
  29. data/stew.gemspec +7 -5
  30. metadata +98 -92
  31. data/lib/stew/community/community_client.rb +0 -53
  32. data/lib/stew/community/xml_client/xml_client.rb +0 -50
  33. data/lib/stew/community/xml_client/xml_client_response_friends.rb +0 -20
  34. data/lib/stew/community/xml_client/xml_client_response_games.rb +0 -20
  35. data/lib/stew/community/xml_client/xml_client_response_profile.rb +0 -14
  36. data/spec/fixtures/profiles/friends/76561197992917668.yml +0 -36
  37. data/spec/fixtures/profiles/friends/76561197994486912.yml +0 -5
  38. data/spec/fixtures/profiles/games/76561197992917668.yml +0 -616
  39. data/spec/fixtures/profiles/games/76561197994486912.yml +0 -5
  40. data/spec/integration/community_integration_spec.rb +0 -50
  41. data/spec/lib/stew/community/community_client_spec.rb +0 -118
  42. data/spec/lib/stew/community/xml_client/xml_client_spec.rb +0 -36
@@ -0,0 +1,8 @@
1
+ {
2
+ "friendslist": {
3
+ "friends": [
4
+
5
+ ]
6
+
7
+ }
8
+ }
@@ -0,0 +1,789 @@
1
+ {
2
+ "response": {
3
+ "game_count": 106,
4
+ "games": [
5
+ {
6
+ "appid": 17460,
7
+ "name": "Mass Effect",
8
+ "playtime_forever": 3173,
9
+ "img_icon_url": "57be81f70afa48c65437df93d75ba167a29687bc",
10
+ "img_logo_url": "7501ea5009533fa5c017ec1f4b94725d67ad4936"
11
+ },
12
+ {
13
+ "appid": 24980,
14
+ "name": "Mass Effect 2",
15
+ "playtime_forever": 3586,
16
+ "img_icon_url": "e6f3b9b0762fd4d42a732abfc41887f6c5903a52",
17
+ "img_logo_url": "d446fe6d77c9f434cd7fd871400b978fc01fb4e7"
18
+ },
19
+ {
20
+ "appid": 24960,
21
+ "name": "Battlefield: Bad Company 2",
22
+ "playtime_forever": 2045,
23
+ "img_icon_url": "3a8b5c53efd00554eb3315681754974c3edf1c41",
24
+ "img_logo_url": "969a07d20786b5f536122d70f2c3eedc1eca5ede"
25
+ },
26
+ {
27
+ "appid": 8930,
28
+ "name": "Sid Meier's Civilization V",
29
+ "playtime_forever": 901,
30
+ "img_icon_url": "fbe80c4743e226f0bf65559c91b12953d4446808",
31
+ "img_logo_url": "2203f62bd1bdc75c286c13534e50f22e3bd5bb58",
32
+ "has_community_visible_stats": true
33
+ },
34
+ {
35
+ "appid": 57300,
36
+ "name": "Amnesia: The Dark Descent",
37
+ "playtime_forever": 531,
38
+ "img_icon_url": "2c08de657a8b273eeb55bb5bf674605ca023e381",
39
+ "img_logo_url": "75b8a82acfb05abda97977ac4eb5af20e0dcf01e"
40
+ },
41
+ {
42
+ "appid": 20900,
43
+ "name": "The Witcher: Enhanced Edition",
44
+ "playtime_forever": 1271,
45
+ "img_icon_url": "746d1cd48fb2e57d579b05b6e9eccba95859e549",
46
+ "img_logo_url": "d37dedbc4104d1683385d022314d1316399b3dce"
47
+ },
48
+ {
49
+ "appid": 17470,
50
+ "name": "Dead Space",
51
+ "playtime_forever": 670,
52
+ "img_icon_url": "45e682594687a6c92037631225340d26c783362f",
53
+ "img_logo_url": "01400b8d7847c309e5d47d7ceb3f885f47247501"
54
+ },
55
+ {
56
+ "appid": 3590,
57
+ "name": "Plants vs. Zombies: Game of the Year",
58
+ "playtime_forever": 1392,
59
+ "img_icon_url": "d2a9c24de11210560f579e7fd9303960c5060155",
60
+ "img_logo_url": "85bfe66e921d89b034a3a253fb648f1a930e034a",
61
+ "has_community_visible_stats": true
62
+ },
63
+ {
64
+ "appid": 42910,
65
+ "name": "Magicka",
66
+ "playtime_forever": 368,
67
+ "img_icon_url": "0eb97d0cd644ee08b1339d2160c7a6adf2ea0a65",
68
+ "img_logo_url": "8c59c674ef40f59c3bafde8ff0d59b7994c66477",
69
+ "has_community_visible_stats": true
70
+ },
71
+ {
72
+ "appid": 47900,
73
+ "name": "Dragon Age II",
74
+ "playtime_forever": 1146,
75
+ "img_icon_url": "4da60f0968da0907988eaed8b5c16ddb4ee3329b",
76
+ "img_logo_url": "6e7dd1111edfba3ff838c5612edff4802ebf4248"
77
+ },
78
+ {
79
+ "appid": 620,
80
+ "name": "Portal 2",
81
+ "playtime_forever": 738,
82
+ "img_icon_url": "2e478fc6874d06ae5baf0d147f6f21203291aa02",
83
+ "img_logo_url": "d2a1119ddc202fab81d9b87048f495cbd6377502",
84
+ "has_community_visible_stats": true
85
+ },
86
+ {
87
+ "appid": 644,
88
+ "name": "Portal 2 Publishing Tool",
89
+ "img_icon_url": "",
90
+ "img_logo_url": ""
91
+ },
92
+ {
93
+ "appid": 17300,
94
+ "name": "Crysis",
95
+ "playtime_forever": 412,
96
+ "img_icon_url": "94bdcfce65cc63a92dcc76977f2b59750f67e3b2",
97
+ "img_logo_url": "c87630a45764856250306e33f7e0c0195dc2f4af"
98
+ },
99
+ {
100
+ "appid": 17330,
101
+ "name": "Crysis Warhead",
102
+ "playtime_forever": 213,
103
+ "img_icon_url": "c29cf6caf9be493569091f8a95acb9139e92a485",
104
+ "img_logo_url": "2df1e5c3f039a252eaceb5853916ab1ad65fb9ee"
105
+ },
106
+ {
107
+ "appid": 17340,
108
+ "name": "Crysis Wars",
109
+ "img_icon_url": "8085d7a383827dcbf48a2383cf148bde090d9109",
110
+ "img_logo_url": "f67c1df6123c3b3807f363554092bc6fc4178d45"
111
+ },
112
+ {
113
+ "appid": 20920,
114
+ "name": "The Witcher 2: Assassins of Kings Enhanced Edition",
115
+ "playtime_forever": 964,
116
+ "img_icon_url": "62dd5c627664df1bcabc47727c7dcd7ccab353e9",
117
+ "img_logo_url": "f0274a91931ed39f7c69dca9f907ceae6450785c",
118
+ "has_community_visible_stats": true
119
+ },
120
+ {
121
+ "appid": 520,
122
+ "name": "Team Fortress 2 Beta",
123
+ "img_icon_url": "e3f595a92552da3d664ad00277fad2107345f743",
124
+ "img_logo_url": "6f6d22ab0c357d9f02a11f76ff35797e4ccdf19f",
125
+ "has_community_visible_stats": true
126
+ },
127
+ {
128
+ "appid": 340,
129
+ "name": "Half-Life 2: Lost Coast",
130
+ "img_icon_url": "795e85364189511f4990861b578084deef086cb1",
131
+ "img_logo_url": "867cce5c4f37d5ed4aeffb57c60e220ddffe4134"
132
+ },
133
+ {
134
+ "appid": 380,
135
+ "name": "Half-Life 2: Episode One",
136
+ "playtime_forever": 169,
137
+ "img_icon_url": "795e85364189511f4990861b578084deef086cb1",
138
+ "img_logo_url": "b5a666a961d8b39896887abbed3b78c2b837c238",
139
+ "has_community_visible_stats": true
140
+ },
141
+ {
142
+ "appid": 400,
143
+ "name": "Portal",
144
+ "playtime_forever": 132,
145
+ "img_icon_url": "cfa928ab4119dd137e50d728e8fe703e4e970aff",
146
+ "img_logo_url": "4184d4c0d915bd3a45210667f7b25361352acd8f",
147
+ "has_community_visible_stats": true
148
+ },
149
+ {
150
+ "appid": 420,
151
+ "name": "Half-Life 2: Episode Two",
152
+ "playtime_forever": 215,
153
+ "img_icon_url": "795e85364189511f4990861b578084deef086cb1",
154
+ "img_logo_url": "553e6a2e7a469dcbaada729baa1f5fd7764668df",
155
+ "has_community_visible_stats": true
156
+ },
157
+ {
158
+ "appid": 440,
159
+ "name": "Team Fortress 2",
160
+ "playtime_forever": 7,
161
+ "img_icon_url": "e3f595a92552da3d664ad00277fad2107345f743",
162
+ "img_logo_url": "07385eb55b5ba974aebbe74d3c99626bda7920b8",
163
+ "has_community_visible_stats": true
164
+ },
165
+ {
166
+ "appid": 220,
167
+ "name": "Half-Life 2",
168
+ "playtime_forever": 474,
169
+ "img_icon_url": "fcfb366051782b8ebf2aa297f3b746395858cb62",
170
+ "img_logo_url": "e4ad9cf1b7dc8475c1118625daf9abd4bdcbcad0",
171
+ "has_community_visible_stats": true
172
+ },
173
+ {
174
+ "appid": 55040,
175
+ "name": "Atom Zombie Smasher ",
176
+ "playtime_forever": 16,
177
+ "img_icon_url": "1def7881c31f5d65c3892056adefa418e127523e",
178
+ "img_logo_url": "5ef89e7f7a049c5f5fa4ade0cb712937f9bdb6eb",
179
+ "has_community_visible_stats": true
180
+ },
181
+ {
182
+ "appid": 63500,
183
+ "name": "Swords and Soldiers HD",
184
+ "playtime_forever": 147,
185
+ "img_icon_url": "77301d7df269837401e0ab7e82af9e4250be4a43",
186
+ "img_logo_url": "0e5a29f1eed738fbcba95b773a596e50bba6c768",
187
+ "has_community_visible_stats": true
188
+ },
189
+ {
190
+ "appid": 95300,
191
+ "name": "Capsized",
192
+ "img_icon_url": "d89b6b69c1b57bae98710d574698ffbc4445e68d",
193
+ "img_logo_url": "4ed97f9c05ae4e0351dd5191f907adf5ddb1d356",
194
+ "has_community_visible_stats": true
195
+ },
196
+ {
197
+ "appid": 92300,
198
+ "name": "A.R.E.S.",
199
+ "playtime_forever": 19,
200
+ "img_icon_url": "948b8d43fdfdb22ef8e1cfcc366e351f14475a23",
201
+ "img_logo_url": "a64b7357d965739998e547df1d42ff4702d238e5",
202
+ "has_community_visible_stats": true
203
+ },
204
+ {
205
+ "appid": 40700,
206
+ "name": "Machinarium",
207
+ "playtime_forever": 519,
208
+ "img_icon_url": "33e11d52f0a2335671d7bf73341c14ae6e596809",
209
+ "img_logo_url": "5101b896d69a6eafc32667689a7f5d8756a4ac87"
210
+ },
211
+ {
212
+ "appid": 18500,
213
+ "name": "Defense Grid: The Awakening",
214
+ "playtime_forever": 482,
215
+ "img_icon_url": "57c5924a97a1c43971acc05590952eddec21c313",
216
+ "img_logo_url": "4c49c7d19bf3cec0aa453d4d94a0c079e5114a1b",
217
+ "has_community_visible_stats": true
218
+ },
219
+ {
220
+ "appid": 47780,
221
+ "name": "Dead Space 2",
222
+ "playtime_forever": 428,
223
+ "img_icon_url": "6393351676edc4fdc65937a599780818fd2f18b7",
224
+ "img_logo_url": "38cb9890ddd639a066bf480e3f098e1b92af2376"
225
+ },
226
+ {
227
+ "appid": 28050,
228
+ "name": "Deus Ex: Human Revolution",
229
+ "playtime_forever": 1303,
230
+ "img_icon_url": "6c7ccd62c124ae63820e06ed9b24d4559c5b0b1f",
231
+ "img_logo_url": "93705ac83aa363ce6ead3f6aad7fa4292d3cd80f",
232
+ "has_community_visible_stats": true
233
+ },
234
+ {
235
+ "appid": 102600,
236
+ "name": "Orcs Must Die!",
237
+ "playtime_forever": 718,
238
+ "img_icon_url": "0d14a70abb580146741de26bbad46d0ad81a67c7",
239
+ "img_logo_url": "9b79e98212c10141aac10471be1c5efa9786bad8",
240
+ "has_community_visible_stats": true
241
+ },
242
+ {
243
+ "appid": 113200,
244
+ "name": "The Binding of Isaac",
245
+ "playtime_forever": 570,
246
+ "img_icon_url": "383cf045ca20625db18f68ef5e95169012118b9e",
247
+ "img_logo_url": "d9a7ee7e07dffed1700cb8b3b9482105b88cc5b5",
248
+ "has_community_visible_stats": true
249
+ },
250
+ {
251
+ "appid": 55230,
252
+ "name": "Saints Row: The Third",
253
+ "playtime_forever": 961,
254
+ "img_icon_url": "ec83645f13643999e7c91da75d418053d6b56529",
255
+ "img_logo_url": "1129528455a8b297fb6404cbb90e802a62881b11",
256
+ "has_community_visible_stats": true
257
+ },
258
+ {
259
+ "appid": 570,
260
+ "name": "Dota 2",
261
+ "playtime_forever": 51,
262
+ "img_icon_url": "0bbb630d63262dd66d2fdd0f7d37e8661a410075",
263
+ "img_logo_url": "d4f836839254be08d8e9dd333ecc9a01782c26d2"
264
+ },
265
+ {
266
+ "appid": 205790,
267
+ "name": "Dota 2 Test",
268
+ "img_icon_url": "",
269
+ "img_logo_url": ""
270
+ },
271
+ {
272
+ "appid": 98800,
273
+ "name": "Dungeons of Dredmor",
274
+ "playtime_forever": 433,
275
+ "img_icon_url": "4924fdf2a9c2cf45bd7d1dcfaa4c039c60b9d410",
276
+ "img_logo_url": "484e2713b16e9af259b96b0729ccf30e8fc78b2d",
277
+ "has_community_visible_stats": true
278
+ },
279
+ {
280
+ "appid": 57900,
281
+ "name": "Duke Nukem Forever",
282
+ "playtime_forever": 437,
283
+ "img_icon_url": "abea248e21456fae958b16dae9f131a51921199d",
284
+ "img_logo_url": "a8d1246ad6962f0bfe9f59b1a314fcf53e712fd3",
285
+ "has_community_visible_stats": true
286
+ },
287
+ {
288
+ "appid": 40800,
289
+ "name": "Super Meat Boy",
290
+ "playtime_forever": 9,
291
+ "img_icon_url": "64eec20c9375e7473b964f0d0bc41d19f03add3b",
292
+ "img_logo_url": "70f084857297d5fdd96d019db3a990d6d9ec64f1",
293
+ "has_community_visible_stats": true
294
+ },
295
+ {
296
+ "appid": 99700,
297
+ "name": "NightSky",
298
+ "img_icon_url": "9a7b3f61a0c8ba8ac717aa4845343b66cc60ce90",
299
+ "img_logo_url": "b86dc9596e72add75073d01c2e8452da87a0240e"
300
+ },
301
+ {
302
+ "appid": 63710,
303
+ "name": "BIT.TRIP RUNNER",
304
+ "img_icon_url": "a208835fd59b0c549ab848303ddb1dfa142045fa",
305
+ "img_logo_url": "13cdddc55559cd4f47fbe970c9ad0de6bebb2f21",
306
+ "has_community_visible_stats": true
307
+ },
308
+ {
309
+ "appid": 6120,
310
+ "name": "Shank",
311
+ "playtime_forever": 196,
312
+ "img_icon_url": "936571702a9ed84a6c267003b3f5b26df9ae830d",
313
+ "img_logo_url": "b5938715bdb8479a24b3fc6b5c74936d160a5878",
314
+ "has_community_visible_stats": true
315
+ },
316
+ {
317
+ "appid": 94200,
318
+ "name": "Jamestown",
319
+ "playtime_forever": 20,
320
+ "img_icon_url": "fc71d80266e726c2ddd946fea19b386947bf679c",
321
+ "img_logo_url": "7a4178ca9546cef28ebb78c5889a01181c2b4e93",
322
+ "has_community_visible_stats": true
323
+ },
324
+ {
325
+ "appid": 41800,
326
+ "name": "Gratuitous Space Battles",
327
+ "img_icon_url": "c9dd42b84a380a4f002bbb56aab8a7a91d664fa1",
328
+ "img_logo_url": "d77409d24f8d41331ccbe0efef2582c9703b56bc"
329
+ },
330
+ {
331
+ "appid": 200900,
332
+ "name": "Cave Story+",
333
+ "img_icon_url": "076431cdb43f9a04364076bf13f7010d8d2e0670",
334
+ "img_logo_url": "a242e0465a65ffafbf75eeb521812fb575990a33",
335
+ "has_community_visible_stats": true
336
+ },
337
+ {
338
+ "appid": 18700,
339
+ "name": "And Yet It Moves",
340
+ "playtime_forever": 22,
341
+ "img_icon_url": "594bca683a74677e7eba64b93d6b0277100e5202",
342
+ "img_logo_url": "181003daaa94da1fb275727587b970324a868c40",
343
+ "has_community_visible_stats": true
344
+ },
345
+ {
346
+ "appid": 26500,
347
+ "name": "Cogs",
348
+ "img_icon_url": "79586b14e3c64d447a3dbb6e18369636b9b5dfb0",
349
+ "img_logo_url": "db01e5e8973e4a9590f1423b9c7c2199d7cb0186",
350
+ "has_community_visible_stats": true
351
+ },
352
+ {
353
+ "appid": 26900,
354
+ "name": "Crayon Physics Deluxe",
355
+ "img_icon_url": "06308f69919438a41b62f0525ebb6d6f537f9128",
356
+ "img_logo_url": "c1d7c6248392fae24328cb2f2e307c636b831202"
357
+ },
358
+ {
359
+ "appid": 41100,
360
+ "name": "Hammerfight",
361
+ "img_icon_url": "17452d643b4cd903618ed00fb943f66bbd3fcbb6",
362
+ "img_logo_url": "d157763946f91bf65cf853dc480a2a6e34819c47"
363
+ },
364
+ {
365
+ "appid": 70300,
366
+ "name": "VVVVVV",
367
+ "img_icon_url": "28c3dfe9f29b7933226aa5be2c7d2de61ee4f578",
368
+ "img_logo_url": "3d362d64d51ce524f12c853290ca6cce5761ff1c"
369
+ },
370
+ {
371
+ "appid": 34270,
372
+ "name": "SEGA Genesis & Mega Drive Classics",
373
+ "playtime_forever": 8,
374
+ "img_icon_url": "48a187fa87c58b798646a430d446dd36eeabd1a4",
375
+ "img_logo_url": "212f55b3ea1a8c70427890896e93a37b49f57187"
376
+ },
377
+ {
378
+ "appid": 107200,
379
+ "name": "Space Pirates and Zombies",
380
+ "playtime_forever": 337,
381
+ "img_icon_url": "5f2cbbd939589daa70d476951e08ae05df776b81",
382
+ "img_logo_url": "f8371e2e888d057899eb19f5bfca3da3bfd2659f",
383
+ "has_community_visible_stats": true
384
+ },
385
+ {
386
+ "appid": 39530,
387
+ "name": "Painkiller: Black Edition",
388
+ "playtime_forever": 215,
389
+ "img_icon_url": "3e8830b9553bc7b12fb3762eec097b44551988b2",
390
+ "img_logo_url": "9779256adc151abf34248362ac0ffc700ef92623"
391
+ },
392
+ {
393
+ "appid": 207170,
394
+ "name": "Legend of Grimrock",
395
+ "playtime_forever": 501,
396
+ "img_icon_url": "c10a0441101d642bc5e59d2a6c9bb14bce7daaa5",
397
+ "img_logo_url": "5898cd32c949e03f95a5333c2399508b1a95aa4a",
398
+ "has_community_visible_stats": true
399
+ },
400
+ {
401
+ "appid": 57400,
402
+ "name": "Batman: Arkham City™",
403
+ "playtime_forever": 810,
404
+ "img_icon_url": "4c208d1365ea5614326717ecfcfea1196ef48e70",
405
+ "img_logo_url": "5456a41d4076244a6c593cbb260c3384493a7727",
406
+ "has_community_visible_stats": true
407
+ },
408
+ {
409
+ "appid": 55150,
410
+ "name": "Warhammer 40,000 Space Marine",
411
+ "playtime_forever": 438,
412
+ "img_icon_url": "46b0ce6e587472d1d56cc88dd32c8b57392f8b10",
413
+ "img_logo_url": "c18d0776e4b1db78c57e66b5bd7ba74b5927816a",
414
+ "has_community_visible_stats": true
415
+ },
416
+ {
417
+ "appid": 108710,
418
+ "name": "Alan Wake",
419
+ "playtime_forever": 562,
420
+ "img_icon_url": "ec7953511aaaf5a2c2093b872b5b43c6cab56462",
421
+ "img_logo_url": "0f9b6613ac50bf42639ed6a2e16e9b78e846ef0a",
422
+ "has_community_visible_stats": true
423
+ },
424
+ {
425
+ "appid": 22000,
426
+ "name": "World of Goo",
427
+ "playtime_forever": 95,
428
+ "img_icon_url": "fce27346192c28e854b7381f160bd19ae645f62f",
429
+ "img_logo_url": "d2a60cb23c6743862af40267817099b08602ee92",
430
+ "has_community_visible_stats": true
431
+ },
432
+ {
433
+ "appid": 98200,
434
+ "name": "Frozen Synapse",
435
+ "playtime_forever": 41,
436
+ "img_icon_url": "646297e1b481ae0e57c4597452fb45ff9ce16989",
437
+ "img_logo_url": "3b20447980b019783a4e37893660d1ce54893699",
438
+ "has_community_visible_stats": true
439
+ },
440
+ {
441
+ "appid": 8980,
442
+ "name": "Borderlands",
443
+ "playtime_forever": 877,
444
+ "img_icon_url": "eb45fb32b7f4e75564a30a52aa3c35a191253ea0",
445
+ "img_logo_url": "88ec298ff1ff0d748df39e084892aed6e919b146",
446
+ "has_community_visible_stats": true
447
+ },
448
+ {
449
+ "appid": 6860,
450
+ "name": "Hitman: Blood Money",
451
+ "img_icon_url": "c8f46248ca288cf332f170a954ffafff2c122131",
452
+ "img_logo_url": "e67a1e905379399095d5dd509e1e58be3e4889b3"
453
+ },
454
+ {
455
+ "appid": 41070,
456
+ "name": "Serious Sam 3: BFE",
457
+ "playtime_forever": 601,
458
+ "img_icon_url": "2e7a17d4b345ffb13ef3d9e39257c2659fe4a86b",
459
+ "img_logo_url": "cc3a3c30187b5fbbd0a8861ad08b4f7d779ba239",
460
+ "has_community_visible_stats": true
461
+ },
462
+ {
463
+ "appid": 33230,
464
+ "name": "Assassin's Creed II",
465
+ "playtime_forever": 516,
466
+ "img_icon_url": "0492d8ee860ac99168e46efeb003029c3224cb38",
467
+ "img_logo_url": "6d29461ee9303967cb32c2142afaf9bbdb911b6f"
468
+ },
469
+ {
470
+ "appid": 203810,
471
+ "name": "Dear Esther",
472
+ "playtime_forever": 100,
473
+ "img_icon_url": "f1ff3d3ea4499d02ea72971ff0d77456a1908fad",
474
+ "img_logo_url": "39f2f2baf454fabdd8a6161e9353ebd9ee335ed2",
475
+ "has_community_visible_stats": true
476
+ },
477
+ {
478
+ "appid": 115110,
479
+ "name": "Stacking",
480
+ "img_icon_url": "c6f9f3ea7afced3ac93e08b43c8e64aa45488648",
481
+ "img_logo_url": "5bbd716992eab33cc5bbcd54cf691da700372329",
482
+ "has_community_visible_stats": true
483
+ },
484
+ {
485
+ "appid": 4500,
486
+ "name": "S.T.A.L.K.E.R.: Shadow of Chernobyl",
487
+ "playtime_forever": 232,
488
+ "img_icon_url": "c57f5fdde74464aed0a09c2e5dd41f8973cbee8d",
489
+ "img_logo_url": "a4f810cb3cbfa8562493e6d9b4fa0afb9706aeb7"
490
+ },
491
+ {
492
+ "appid": 110800,
493
+ "name": "L.A. Noire",
494
+ "playtime_forever": 1507,
495
+ "img_icon_url": "ee09d4d2552e52c78d139a3b6dbe60173079d9f8",
496
+ "img_logo_url": "4176ba6f679e28225a95447082c38db290bc2557",
497
+ "has_community_visible_stats": true
498
+ },
499
+ {
500
+ "appid": 202200,
501
+ "name": "Galactic Civilizations II: Ultimate Edition",
502
+ "img_icon_url": "74ef4f8f1c2b4879a54bd93b95eec8f5d20f3727",
503
+ "img_logo_url": "ad23e69a2e91b9ad7675c11766b179e24cf8a7e1",
504
+ "has_community_visible_stats": true
505
+ },
506
+ {
507
+ "appid": 207690,
508
+ "name": "Botanicula",
509
+ "playtime_forever": 229,
510
+ "img_icon_url": "7767f278467c86cbd9977391dd8f652d282160d0",
511
+ "img_logo_url": "acb47a23b33ef3eed87022185eac7b1937c0235b",
512
+ "has_community_visible_stats": true
513
+ },
514
+ {
515
+ "appid": 108800,
516
+ "name": "Crysis 2 Maximum Edition",
517
+ "playtime_forever": 486,
518
+ "img_icon_url": "5f401ab4b7d16ca8f778ff6b85dd25e0d3d49460",
519
+ "img_logo_url": "bee338e11932e97e995b6e2d84d0772f7b22f2a9"
520
+ },
521
+ {
522
+ "appid": 33220,
523
+ "name": "Tom Clancy's Splinter Cell: Conviction",
524
+ "img_icon_url": "788417bcc17f0751c2928b372309e6178401adc5",
525
+ "img_logo_url": "6939f9914923cad9934603432b43fe7d46d47dd7"
526
+ },
527
+ {
528
+ "appid": 99810,
529
+ "name": "Bulletstorm",
530
+ "playtime_forever": 404,
531
+ "img_icon_url": "6f7d51f89ea4998bd4f2aa3e96d418d3868766cd",
532
+ "img_logo_url": "ec0e6043049ae7263b52b917de96aae88f3fb137"
533
+ },
534
+ {
535
+ "appid": 33440,
536
+ "name": "Driver San Francisco",
537
+ "playtime_forever": 52,
538
+ "img_icon_url": "51bf6ce549a81619823bea5197a41783be7799cf",
539
+ "img_logo_url": "e268b6988157b317c3992d20727a0dfa38678cb2"
540
+ },
541
+ {
542
+ "appid": 3830,
543
+ "name": "Psychonauts",
544
+ "img_icon_url": "460b6471db7d83ee6943c1a87f7a9f2898634952",
545
+ "img_logo_url": "f77e1a7a78d03ef070a1fce915c10ee7bb439b34",
546
+ "has_community_visible_stats": true
547
+ },
548
+ {
549
+ "appid": 204100,
550
+ "name": "Max Payne 3",
551
+ "playtime_forever": 523,
552
+ "img_icon_url": "96af86331719b56cefc55298b4fcb99c99f1cfee",
553
+ "img_logo_url": "135cf60686c2bf570999b96d5c29eb31e962293a",
554
+ "has_community_visible_stats": true
555
+ },
556
+ {
557
+ "appid": 219150,
558
+ "name": "Hotline Miami",
559
+ "playtime_forever": 236,
560
+ "img_icon_url": "d5bf432ec0975cbd26282389575858df9730364f",
561
+ "img_logo_url": "540a1457099f072ced7153239861e42f14febd56",
562
+ "has_community_visible_stats": true
563
+ },
564
+ {
565
+ "appid": 72000,
566
+ "name": "Closure",
567
+ "img_icon_url": "7da11a2030451f15450452b6c5f0aeb45b39fbd3",
568
+ "img_logo_url": "6e01635915c7a052c64c81f1408844a596917d2e",
569
+ "has_community_visible_stats": true
570
+ },
571
+ {
572
+ "appid": 102840,
573
+ "name": "Shank 2",
574
+ "playtime_forever": 197,
575
+ "img_icon_url": "6f916b594b1056789013a3e210cdc89a5245cd6d",
576
+ "img_logo_url": "eec11d103112f36876bd746854d6e8f130ea6078",
577
+ "has_community_visible_stats": true
578
+ },
579
+ {
580
+ "appid": 204220,
581
+ "name": "Snapshot",
582
+ "img_icon_url": "322122b6f0560b73c5c36ff5009907d8087fd146",
583
+ "img_logo_url": "5e0f448c6fa62e33c8142d2738690b4bc55bed19",
584
+ "has_community_visible_stats": true
585
+ },
586
+ {
587
+ "appid": 207080,
588
+ "name": "Indie Game: The Movie",
589
+ "img_icon_url": "1d29a72931dc845cf9ec7a04501fe40a7ed57dd1",
590
+ "img_logo_url": "f2c3f3e7104ad6d8719c2698406c79efe6de41e7"
591
+ },
592
+ {
593
+ "appid": 212680,
594
+ "name": "FTL: Faster Than Light",
595
+ "playtime_2weeks": 84,
596
+ "playtime_forever": 695,
597
+ "img_icon_url": "e8770ddb95fde0804694b116dfe3479f5a65900d",
598
+ "img_logo_url": "975193db5ca8cc2a4c969cea8f80d93157264ec1"
599
+ },
600
+ {
601
+ "appid": 200710,
602
+ "name": "Torchlight II",
603
+ "playtime_forever": 104,
604
+ "img_icon_url": "40776762bb63c4eded37d1a2b4431a90aa57ea84",
605
+ "img_logo_url": "fd37abb86628ff54ed304f75c2fb7cf75a4f6902",
606
+ "has_community_visible_stats": true
607
+ },
608
+ {
609
+ "appid": 209830,
610
+ "name": "Lone Survivor",
611
+ "playtime_forever": 4,
612
+ "img_icon_url": "0f5198dc318e0dcb71b527a0a91022c6c44f92eb",
613
+ "img_logo_url": "49444b4aa62821ea911de0ef98fe9eb223a970b5"
614
+ },
615
+ {
616
+ "appid": 50300,
617
+ "name": "Spec Ops: The Line",
618
+ "playtime_forever": 323,
619
+ "img_icon_url": "55ae859a90d61c08f18ed3aa0ee2579169d2c2bf",
620
+ "img_logo_url": "e449c7dc5a9861cf94476de1b394640f3866ddda",
621
+ "has_community_visible_stats": true
622
+ },
623
+ {
624
+ "appid": 48240,
625
+ "name": "Anno 2070",
626
+ "playtime_forever": 206,
627
+ "img_icon_url": "f2ea66880f8b78ef85afa7c6c256dcb41b2df845",
628
+ "img_logo_url": "96fa0d0f7d3a2cfbd46cfbb3ec266e4fbc9c9953"
629
+ },
630
+ {
631
+ "appid": 211420,
632
+ "name": "Dark Souls: Prepare to Die Edition",
633
+ "playtime_forever": 2820,
634
+ "img_icon_url": "a24804c6c8412c8cd9d50efd06bf03fa58ff80a9",
635
+ "img_logo_url": "d293c8e38f56de2c7097b2c7a975caca49029a8b"
636
+ },
637
+ {
638
+ "appid": 214700,
639
+ "name": "Thirty Flights of Loving",
640
+ "playtime_forever": 11,
641
+ "img_icon_url": "71f7ffca294221f197328fd0d235dcd7c92f3ee8",
642
+ "img_logo_url": "c34d64059055264eb45fa7052d1066c40b921eff"
643
+ },
644
+ {
645
+ "appid": 214560,
646
+ "name": "Mark of the Ninja",
647
+ "playtime_forever": 123,
648
+ "img_icon_url": "220f33169c93c2f6381cd785399fb52bfc79309f",
649
+ "img_logo_url": "c20501309696e5bcda98e9e4f2649abc5720a1d1",
650
+ "has_community_visible_stats": true
651
+ },
652
+ {
653
+ "appid": 9160,
654
+ "name": "Master Levels for DOOM II",
655
+ "img_icon_url": "bd129198b6a3c52f248dc5859f9131b527f4acd6",
656
+ "img_logo_url": "3e282900d76dedac95fd76ad815e2e88c8251045"
657
+ },
658
+ {
659
+ "appid": 2280,
660
+ "name": "The Ultimate DOOM",
661
+ "img_icon_url": "3e5e70b1e0c4869dc3276b10b830f6ce9d341cf9",
662
+ "img_logo_url": "9c9d555b77699d263dfe25769284943f4b4eef3b"
663
+ },
664
+ {
665
+ "appid": 2290,
666
+ "name": "Final DOOM",
667
+ "img_icon_url": "5d0621ab96bf6b01213149e02e38e7155cb2c9ed",
668
+ "img_logo_url": "1e0cd3379c55bf95d2e8648dbdda445ad6f65e12"
669
+ },
670
+ {
671
+ "appid": 2300,
672
+ "name": "DOOM II: Hell on Earth",
673
+ "img_icon_url": "ca71be262e191f3fdb2148f5ae56ff3e2ca340c2",
674
+ "img_logo_url": "91e04640ffc94bf7036489d1a72575b0483bfb04"
675
+ },
676
+ {
677
+ "appid": 206440,
678
+ "name": "To the Moon",
679
+ "playtime_forever": 415,
680
+ "img_icon_url": "6e29eb4076a6253fdbccb987a2a21746d2df54d7",
681
+ "img_logo_url": "f0e5a7037facd7bff7656ebe2396a23735c608c2",
682
+ "has_community_visible_stats": true
683
+ },
684
+ {
685
+ "appid": 218410,
686
+ "name": "Defender's Quest: Valley of the Forgotten",
687
+ "playtime_forever": 63,
688
+ "img_icon_url": "8caffc1473e8478075e4da5d60441e1f2626a1be",
689
+ "img_logo_url": "3e5786ed9ebf609dfc6e82478acaac05252a692c",
690
+ "has_community_visible_stats": true
691
+ },
692
+ {
693
+ "appid": 207610,
694
+ "name": "The Walking Dead",
695
+ "playtime_forever": 701,
696
+ "img_icon_url": "87a13ae0a2a76488792924aa8bb0dd8a7760f931",
697
+ "img_logo_url": "6d756726214dd97c54966814d58508b86d5eabcf",
698
+ "has_community_visible_stats": true
699
+ },
700
+ {
701
+ "appid": 202170,
702
+ "name": "Sleeping Dogs™",
703
+ "playtime_forever": 959,
704
+ "img_icon_url": "3d70bfb50bc3a162685e6775c4da2d336d1ba1ea",
705
+ "img_logo_url": "5be5f629e44cc13b7a845deacf81c93f92678e55",
706
+ "has_community_visible_stats": true
707
+ },
708
+ {
709
+ "appid": 200510,
710
+ "name": "XCOM: Enemy Unknown",
711
+ "playtime_forever": 279,
712
+ "img_icon_url": "48be2fee1d0d511b5c7313e1359beafd36ea92ed",
713
+ "img_logo_url": "eaa298d2b0d908b2c4f5370d2c8c59a8eff887c6",
714
+ "has_community_visible_stats": true
715
+ },
716
+ {
717
+ "appid": 200519,
718
+ "name": "X-Com: Enemy Unknown Pre-Purchase",
719
+ "img_icon_url": "",
720
+ "img_logo_url": ""
721
+ },
722
+ {
723
+ "appid": 67370,
724
+ "name": "The Darkness II",
725
+ "playtime_forever": 352,
726
+ "img_icon_url": "6ca6291fe216a8cc5c56f01b1e7f83e396a8fa81",
727
+ "img_logo_url": "349189b0ac9570679227cb1bd2c742bec12bf97a",
728
+ "has_community_visible_stats": true
729
+ },
730
+ {
731
+ "appid": 203160,
732
+ "name": "Tomb Raider",
733
+ "playtime_forever": 688,
734
+ "img_icon_url": "3ee640a8aba6992678e36f4e40cba9c71c02348b",
735
+ "img_logo_url": "495f7d723659add6ea476b3699be5424282ac4b8",
736
+ "has_community_visible_stats": true
737
+ },
738
+ {
739
+ "appid": 207490,
740
+ "name": "Rayman Origins",
741
+ "playtime_forever": 157,
742
+ "img_icon_url": "1e155c2bc13e8793aed8bb61fdac798fe0d49de7",
743
+ "img_logo_url": "ebfd3f8da2b0416d71724a2929740a72a6eaabf4"
744
+ },
745
+ {
746
+ "appid": 205910,
747
+ "name": "Tiny and Big: Grandpa's Leftovers",
748
+ "img_icon_url": "eac569bb84b1f8459d4203e3ad3e00a70514d3b4",
749
+ "img_logo_url": "ca0fe3057ac0310df1e1ab290a290a8a2bc19ff9",
750
+ "has_community_visible_stats": true
751
+ },
752
+ {
753
+ "appid": 205100,
754
+ "name": "Dishonored",
755
+ "playtime_forever": 481,
756
+ "img_icon_url": "74f8ee1ba536e0759e64a9bf801fc013e16c8dd1",
757
+ "img_logo_url": "b94f5ff693304b7f70f88403d444686c4af3b940",
758
+ "has_community_visible_stats": true
759
+ },
760
+ {
761
+ "appid": 49520,
762
+ "name": "Borderlands 2",
763
+ "playtime_2weeks": 97,
764
+ "playtime_forever": 321,
765
+ "img_icon_url": "a3f4945226e69b6196074df4c776e342d3e5a3be",
766
+ "img_logo_url": "86b0fa5ddb41b4dfff7df194a017f3418130d668",
767
+ "has_community_visible_stats": true
768
+ },
769
+ {
770
+ "appid": 8870,
771
+ "name": "BioShock Infinite",
772
+ "playtime_forever": 600,
773
+ "img_icon_url": "4ebaf5f9ee74f50152f7ff361debef7553fa0e4e",
774
+ "img_logo_url": "870bb889e192cf8d31876ed04d329a5d51c6fc2c",
775
+ "has_community_visible_stats": true
776
+ },
777
+ {
778
+ "appid": 57690,
779
+ "name": "Tropico 4",
780
+ "playtime_2weeks": 143,
781
+ "playtime_forever": 242,
782
+ "img_icon_url": "8e58ca48b978439ba4986938247fdb21a645a673",
783
+ "img_logo_url": "9123d91a47399baf116c2949dcebcd42b1962fbe",
784
+ "has_community_visible_stats": true
785
+ }
786
+ ]
787
+
788
+ }
789
+ }