bnet 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +16 -0
  4. data/.travis.yml +15 -0
  5. data/Gemfile +4 -0
  6. data/Guardfile +13 -0
  7. data/LICENSE.txt +22 -0
  8. data/README.md +120 -0
  9. data/Rakefile +14 -0
  10. data/TODO.md +74 -0
  11. data/bnet.gemspec +34 -0
  12. data/fixtures/cassettes/diablo_hero_found.yml +1023 -0
  13. data/fixtures/cassettes/diablo_hero_notf_found.yml +48 -0
  14. data/fixtures/cassettes/diablo_hero_reload.yml +1023 -0
  15. data/fixtures/cassettes/find_diablo_career_doesnt_exist.yml +93 -0
  16. data/fixtures/cassettes/find_diablo_career_player_one_.yml +2803 -0
  17. data/fixtures/cassettes/sc2_profile_found.yml +523 -0
  18. data/fixtures/cassettes/sc2_profile_not_found.yml +49 -0
  19. data/fixtures/cassettes/wow_character_found.yml +46 -0
  20. data/fixtures/cassettes/wow_character_not_found.yml +42 -0
  21. data/fixtures/cassettes/wow_data_battlegroups_all.yml +45 -0
  22. data/fixtures/cassettes/wow_data_character_races_all.yml +45 -0
  23. data/lib/bnet.rb +34 -0
  24. data/lib/bnet/account.rb +4 -0
  25. data/lib/bnet/api.rb +21 -0
  26. data/lib/bnet/bnet_resource.rb +25 -0
  27. data/lib/bnet/client.rb +6 -0
  28. data/lib/bnet/configuration.rb +7 -0
  29. data/lib/bnet/diablo3.rb +11 -0
  30. data/lib/bnet/diablo3/career.rb +91 -0
  31. data/lib/bnet/diablo3/hero.rb +131 -0
  32. data/lib/bnet/diablo3/skill.rb +19 -0
  33. data/lib/bnet/starcraft2.rb +7 -0
  34. data/lib/bnet/starcraft2/profile.rb +94 -0
  35. data/lib/bnet/version.rb +3 -0
  36. data/lib/bnet/wow.rb +7 -0
  37. data/lib/bnet/wow/character.rb +78 -0
  38. data/lib/bnet/wow/data.rb +5 -0
  39. data/lib/bnet/wow/data/base.rb +54 -0
  40. data/lib/bnet/wow/data/battlegroup.rb +18 -0
  41. data/lib/bnet/wow/data/character_race.rb +15 -0
  42. data/spec/bnet/account_spec.rb +5 -0
  43. data/spec/bnet/api_spec.rb +20 -0
  44. data/spec/bnet/diablo3/career_spec.rb +57 -0
  45. data/spec/bnet/diablo3/hero_spec.rb +89 -0
  46. data/spec/bnet/diablo3/skill_spec.rb +26 -0
  47. data/spec/bnet/diablo3_spec.rb +19 -0
  48. data/spec/bnet/starcraft2/profile_spec.rb +53 -0
  49. data/spec/bnet/wow/character_spec.rb +57 -0
  50. data/spec/bnet/wow/data/base_spec.rb +9 -0
  51. data/spec/bnet/wow/data/battlegroup_spec.rb +17 -0
  52. data/spec/bnet/wow/data/character_race_spec.rb +19 -0
  53. data/spec/bnet/wow/data_spec.rb +21 -0
  54. data/spec/bnet_spec.rb +8 -0
  55. data/spec/secrets_and_all_that.rb.sample +8 -0
  56. data/spec/secrets_and_all_that.rb.travis +8 -0
  57. data/spec/spec_helper.rb +29 -0
  58. metadata +285 -0
@@ -0,0 +1,523 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://us.api.battle.net/sc2/profile/2143215/1/PlayerOne/?apikey=api_key_from_secrets_rb&locale=en_US
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - '*/*'
14
+ User-Agent:
15
+ - Ruby
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Content-Language:
22
+ - en-US
23
+ Content-Type:
24
+ - application/json;charset=UTF-8
25
+ Date:
26
+ - Fri, 29 Aug 2014 08:40:06 GMT
27
+ Server:
28
+ - Apache
29
+ Vary:
30
+ - Accept-Encoding
31
+ X-Frame-Options:
32
+ - SAMEORIGIN
33
+ X-Mashery-Responder:
34
+ - prod-j-worker-us-east-1d-44.mashery.com
35
+ Transfer-Encoding:
36
+ - chunked
37
+ Connection:
38
+ - keep-alive
39
+ body:
40
+ encoding: UTF-8
41
+ string: |-
42
+ {
43
+ "id" : 2143215,
44
+ "realm" : 1,
45
+ "displayName" : "PlayerOne",
46
+ "clanName" : "",
47
+ "clanTag" : "",
48
+ "profilePath" : "/profile/2143215/1/PlayerOne/",
49
+ "portrait" : {
50
+ "x" : 0,
51
+ "y" : -90,
52
+ "w" : 90,
53
+ "h" : 90,
54
+ "offset" : 6,
55
+ "url" : "http://media.blizzard.com/sc2/portraits/1-90.jpg"
56
+ },
57
+ "career" : {
58
+ "primaryRace" : "PROTOSS",
59
+ "terranWins" : 0,
60
+ "protossWins" : 0,
61
+ "zergWins" : 0,
62
+ "highest1v1Rank" : "DIAMOND",
63
+ "highestTeamRank" : "MASTER",
64
+ "seasonTotalGames" : 0,
65
+ "careerTotalGames" : 780
66
+ },
67
+ "swarmLevels" : {
68
+ "level" : 2,
69
+ "terran" : {
70
+ "level" : 0,
71
+ "totalLevelXP" : 5000,
72
+ "currentLevelXP" : 0
73
+ },
74
+ "zerg" : {
75
+ "level" : 0,
76
+ "totalLevelXP" : 5000,
77
+ "currentLevelXP" : 0
78
+ },
79
+ "protoss" : {
80
+ "level" : 2,
81
+ "totalLevelXP" : 65000,
82
+ "currentLevelXP" : 57819
83
+ }
84
+ },
85
+ "campaign" : { },
86
+ "season" : {
87
+ "seasonId" : 19,
88
+ "seasonNumber" : 3,
89
+ "seasonYear" : 2014,
90
+ "totalGamesThisSeason" : 0
91
+ },
92
+ "rewards" : {
93
+ "selected" : [ 18730036, 863976264, 2359737029, 2420367594 ],
94
+ "earned" : [ 19065053, 199895074, 234481452, 328039243, 354595443, 382993515, 547085114, 595375415, 615147322, 637508413, 700641953, 716760434, 722125123, 744177281, 863976264, 868991824, 943692309, 1002357867, 1079649078, 1177038943, 1202205842, 1232091643, 1294733777, 1330937594, 1399145799, 1435566629, 1548839636, 1563607663, 1605367309, 1702690519, 1728751618, 1750262021, 1756072743, 1798698573, 1807193192, 2000337393, 2031806605, 2071251289, 2119427912, 2340900877, 2420367594, 2449282564, 2636717639, 2665125299, 2710644389, 2718858952, 2730379211, 2753058248, 2809480242, 2825428175, 2951203821, 3030985253, 3045219362, 3152244759, 3205179785, 3281768270, 3318566415, 3319454886, 3587635379, 3621197834, 3690831617, 3692299263, 3798567608, 3821720584, 3918875355, 3968752759, 3992742131, 4000903407, 4017064141, 4017588258, 4162301223, 4179975174, 4180779287 ]
95
+ },
96
+ "achievements" : {
97
+ "points" : {
98
+ "totalPoints" : 550,
99
+ "categoryPoints" : {
100
+ "4325382" : 0,
101
+ "4325380" : 40,
102
+ "4325408" : 0,
103
+ "4325379" : 0,
104
+ "4325410" : 0,
105
+ "4325377" : 510
106
+ }
107
+ },
108
+ "achievements" : [ {
109
+ "achievementId" : 91475320768606,
110
+ "completionDate" : 1396671948
111
+ }, {
112
+ "achievementId" : 91475320767775,
113
+ "completionDate" : 1368029156
114
+ }, {
115
+ "achievementId" : 91475035553834,
116
+ "completionDate" : 1354107134
117
+ }, {
118
+ "achievementId" : 91475035553841,
119
+ "completionDate" : 1354014903
120
+ }, {
121
+ "achievementId" : 91475320766492,
122
+ "completionDate" : 1350300196
123
+ }, {
124
+ "achievementId" : 91475320766634,
125
+ "completionDate" : 1343996428
126
+ }, {
127
+ "achievementId" : 91475320766498,
128
+ "completionDate" : 1341843914
129
+ }, {
130
+ "achievementId" : 91475320767600,
131
+ "completionDate" : 1338806355
132
+ }, {
133
+ "achievementId" : 91475320766465,
134
+ "completionDate" : 1336394804
135
+ }, {
136
+ "achievementId" : 91475320766536,
137
+ "completionDate" : 1335712460
138
+ }, {
139
+ "achievementId" : 91475035553806,
140
+ "completionDate" : 1335365314
141
+ }, {
142
+ "achievementId" : 91475320767590,
143
+ "completionDate" : 1331389537
144
+ }, {
145
+ "achievementId" : 91475320767197,
146
+ "completionDate" : 1331389537
147
+ }, {
148
+ "achievementId" : 91475320766518,
149
+ "completionDate" : 1331299230
150
+ }, {
151
+ "achievementId" : 91475320766510,
152
+ "completionDate" : 1330182719
153
+ }, {
154
+ "achievementId" : 91475320766527,
155
+ "completionDate" : 1329143944
156
+ }, {
157
+ "achievementId" : 91475035553811,
158
+ "completionDate" : 1328363000
159
+ }, {
160
+ "achievementId" : 91475035553843,
161
+ "completionDate" : 1328195495
162
+ }, {
163
+ "achievementId" : 91475035553831,
164
+ "completionDate" : 1328194594
165
+ }, {
166
+ "achievementId" : 91475035553839,
167
+ "completionDate" : 1328192795
168
+ }, {
169
+ "achievementId" : 91475035553824,
170
+ "completionDate" : 1328191703
171
+ }, {
172
+ "achievementId" : 91475035553823,
173
+ "completionDate" : 1328191653
174
+ }, {
175
+ "achievementId" : 91475035553822,
176
+ "completionDate" : 1328027355
177
+ }, {
178
+ "achievementId" : 91475035553832,
179
+ "completionDate" : 1328026021
180
+ }, {
181
+ "achievementId" : 91475035553829,
182
+ "completionDate" : 1328024724
183
+ }, {
184
+ "achievementId" : 91475035553820,
185
+ "completionDate" : 1328019701
186
+ }, {
187
+ "achievementId" : 91475035553818,
188
+ "completionDate" : 1328018550
189
+ }, {
190
+ "achievementId" : 91475035553817,
191
+ "completionDate" : 1328018520
192
+ }, {
193
+ "achievementId" : 91475035553830,
194
+ "completionDate" : 1328017162
195
+ }, {
196
+ "achievementId" : 91475320766633,
197
+ "completionDate" : 1326551472
198
+ }, {
199
+ "achievementId" : 91475320767210,
200
+ "completionDate" : 1312135930
201
+ }, {
202
+ "achievementId" : 91475320767586,
203
+ "completionDate" : 1312135930
204
+ }, {
205
+ "achievementId" : 91475320766542,
206
+ "completionDate" : 1311347836
207
+ }, {
208
+ "achievementId" : 91475035553838,
209
+ "completionDate" : 1305469000
210
+ }, {
211
+ "achievementId" : 91475035553848,
212
+ "completionDate" : 1293202143
213
+ }, {
214
+ "achievementId" : 91475035553821,
215
+ "completionDate" : 1291461608
216
+ }, {
217
+ "achievementId" : 91475035553847,
218
+ "completionDate" : 1290828618
219
+ }, {
220
+ "achievementId" : 91475035553833,
221
+ "completionDate" : 1290691549
222
+ }, {
223
+ "achievementId" : 91475320766710,
224
+ "completionDate" : 1290689257
225
+ }, {
226
+ "achievementId" : 91475035553814,
227
+ "completionDate" : 1289752302
228
+ }, {
229
+ "achievementId" : 91475035553840,
230
+ "completionDate" : 1289752244
231
+ }, {
232
+ "achievementId" : 91475035553816,
233
+ "completionDate" : 1285425069
234
+ }, {
235
+ "achievementId" : 91475035553819,
236
+ "completionDate" : 1285425015
237
+ }, {
238
+ "achievementId" : 91475035553844,
239
+ "completionDate" : 1285259329
240
+ }, {
241
+ "achievementId" : 91475035553798,
242
+ "completionDate" : 1285258370
243
+ }, {
244
+ "achievementId" : 91475320766506,
245
+ "completionDate" : 1285258347
246
+ }, {
247
+ "achievementId" : 91475320766709,
248
+ "completionDate" : 1285258347
249
+ }, {
250
+ "achievementId" : 91475320766700,
251
+ "completionDate" : 1285258347
252
+ }, {
253
+ "achievementId" : 91475320766707,
254
+ "completionDate" : 1285258347
255
+ }, {
256
+ "achievementId" : 91475035553828,
257
+ "completionDate" : 1285256239
258
+ } ]
259
+ }
260
+ }
261
+ http_version:
262
+ recorded_at: Fri, 29 Aug 2014 08:40:06 GMT
263
+ - request:
264
+ method: get
265
+ uri: https://us.api.battle.net/sc2/profile/2143215/1/PlayerOne/?apikey=api_key_from_secrets_rb&locale=en_US
266
+ body:
267
+ encoding: US-ASCII
268
+ string: ''
269
+ headers:
270
+ Accept-Encoding:
271
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
272
+ Accept:
273
+ - '*/*'
274
+ User-Agent:
275
+ - Ruby
276
+ response:
277
+ status:
278
+ code: 200
279
+ message: OK
280
+ headers:
281
+ Content-Language:
282
+ - en-US
283
+ Content-Type:
284
+ - application/json;charset=UTF-8
285
+ Date:
286
+ - Fri, 29 Aug 2014 08:40:06 GMT
287
+ Server:
288
+ - Apache
289
+ Vary:
290
+ - Accept-Encoding
291
+ X-Frame-Options:
292
+ - SAMEORIGIN
293
+ X-Mashery-Responder:
294
+ - prod-j-worker-us-east-1e-40.mashery.com
295
+ Content-Length:
296
+ - '1549'
297
+ Connection:
298
+ - keep-alive
299
+ body:
300
+ encoding: UTF-8
301
+ string: |-
302
+ {
303
+ "id" : 2143215,
304
+ "realm" : 1,
305
+ "displayName" : "PlayerOne",
306
+ "clanName" : "",
307
+ "clanTag" : "",
308
+ "profilePath" : "/profile/2143215/1/PlayerOne/",
309
+ "portrait" : {
310
+ "x" : 0,
311
+ "y" : -90,
312
+ "w" : 90,
313
+ "h" : 90,
314
+ "offset" : 6,
315
+ "url" : "http://media.blizzard.com/sc2/portraits/1-90.jpg"
316
+ },
317
+ "career" : {
318
+ "primaryRace" : "PROTOSS",
319
+ "terranWins" : 0,
320
+ "protossWins" : 0,
321
+ "zergWins" : 0,
322
+ "highest1v1Rank" : "DIAMOND",
323
+ "highestTeamRank" : "MASTER",
324
+ "seasonTotalGames" : 0,
325
+ "careerTotalGames" : 780
326
+ },
327
+ "swarmLevels" : {
328
+ "level" : 2,
329
+ "terran" : {
330
+ "level" : 0,
331
+ "totalLevelXP" : 5000,
332
+ "currentLevelXP" : 0
333
+ },
334
+ "zerg" : {
335
+ "level" : 0,
336
+ "totalLevelXP" : 5000,
337
+ "currentLevelXP" : 0
338
+ },
339
+ "protoss" : {
340
+ "level" : 2,
341
+ "totalLevelXP" : 65000,
342
+ "currentLevelXP" : 57819
343
+ }
344
+ },
345
+ "campaign" : { },
346
+ "season" : {
347
+ "seasonId" : 19,
348
+ "seasonNumber" : 3,
349
+ "seasonYear" : 2014,
350
+ "totalGamesThisSeason" : 0
351
+ },
352
+ "rewards" : {
353
+ "selected" : [ 18730036, 863976264, 2359737029, 2420367594 ],
354
+ "earned" : [ 19065053, 199895074, 234481452, 328039243, 354595443, 382993515, 547085114, 595375415, 615147322, 637508413, 700641953, 716760434, 722125123, 744177281, 863976264, 868991824, 943692309, 1002357867, 1079649078, 1177038943, 1202205842, 1232091643, 1294733777, 1330937594, 1399145799, 1435566629, 1548839636, 1563607663, 1605367309, 1702690519, 1728751618, 1750262021, 1756072743, 1798698573, 1807193192, 2000337393, 2031806605, 2071251289, 2119427912, 2340900877, 2420367594, 2449282564, 2636717639, 2665125299, 2710644389, 2718858952, 2730379211, 2753058248, 2809480242, 2825428175, 2951203821, 3030985253, 3045219362, 3152244759, 3205179785, 3281768270, 3318566415, 3319454886, 3587635379, 3621197834, 3690831617, 3692299263, 3798567608, 3821720584, 3918875355, 3968752759, 3992742131, 4000903407, 4017064141, 4017588258, 4162301223, 4179975174, 4180779287 ]
355
+ },
356
+ "achievements" : {
357
+ "points" : {
358
+ "totalPoints" : 550,
359
+ "categoryPoints" : {
360
+ "4325382" : 0,
361
+ "4325380" : 40,
362
+ "4325408" : 0,
363
+ "4325379" : 0,
364
+ "4325410" : 0,
365
+ "4325377" : 510
366
+ }
367
+ },
368
+ "achievements" : [ {
369
+ "achievementId" : 91475320768606,
370
+ "completionDate" : 1396671948
371
+ }, {
372
+ "achievementId" : 91475320767775,
373
+ "completionDate" : 1368029156
374
+ }, {
375
+ "achievementId" : 91475035553834,
376
+ "completionDate" : 1354107134
377
+ }, {
378
+ "achievementId" : 91475035553841,
379
+ "completionDate" : 1354014903
380
+ }, {
381
+ "achievementId" : 91475320766492,
382
+ "completionDate" : 1350300196
383
+ }, {
384
+ "achievementId" : 91475320766634,
385
+ "completionDate" : 1343996428
386
+ }, {
387
+ "achievementId" : 91475320766498,
388
+ "completionDate" : 1341843914
389
+ }, {
390
+ "achievementId" : 91475320767600,
391
+ "completionDate" : 1338806355
392
+ }, {
393
+ "achievementId" : 91475320766465,
394
+ "completionDate" : 1336394804
395
+ }, {
396
+ "achievementId" : 91475320766536,
397
+ "completionDate" : 1335712460
398
+ }, {
399
+ "achievementId" : 91475035553806,
400
+ "completionDate" : 1335365314
401
+ }, {
402
+ "achievementId" : 91475320767590,
403
+ "completionDate" : 1331389537
404
+ }, {
405
+ "achievementId" : 91475320767197,
406
+ "completionDate" : 1331389537
407
+ }, {
408
+ "achievementId" : 91475320766518,
409
+ "completionDate" : 1331299230
410
+ }, {
411
+ "achievementId" : 91475320766510,
412
+ "completionDate" : 1330182719
413
+ }, {
414
+ "achievementId" : 91475320766527,
415
+ "completionDate" : 1329143944
416
+ }, {
417
+ "achievementId" : 91475035553811,
418
+ "completionDate" : 1328363000
419
+ }, {
420
+ "achievementId" : 91475035553843,
421
+ "completionDate" : 1328195495
422
+ }, {
423
+ "achievementId" : 91475035553831,
424
+ "completionDate" : 1328194594
425
+ }, {
426
+ "achievementId" : 91475035553839,
427
+ "completionDate" : 1328192795
428
+ }, {
429
+ "achievementId" : 91475035553824,
430
+ "completionDate" : 1328191703
431
+ }, {
432
+ "achievementId" : 91475035553823,
433
+ "completionDate" : 1328191653
434
+ }, {
435
+ "achievementId" : 91475035553822,
436
+ "completionDate" : 1328027355
437
+ }, {
438
+ "achievementId" : 91475035553832,
439
+ "completionDate" : 1328026021
440
+ }, {
441
+ "achievementId" : 91475035553829,
442
+ "completionDate" : 1328024724
443
+ }, {
444
+ "achievementId" : 91475035553820,
445
+ "completionDate" : 1328019701
446
+ }, {
447
+ "achievementId" : 91475035553818,
448
+ "completionDate" : 1328018550
449
+ }, {
450
+ "achievementId" : 91475035553817,
451
+ "completionDate" : 1328018520
452
+ }, {
453
+ "achievementId" : 91475035553830,
454
+ "completionDate" : 1328017162
455
+ }, {
456
+ "achievementId" : 91475320766633,
457
+ "completionDate" : 1326551472
458
+ }, {
459
+ "achievementId" : 91475320767210,
460
+ "completionDate" : 1312135930
461
+ }, {
462
+ "achievementId" : 91475320767586,
463
+ "completionDate" : 1312135930
464
+ }, {
465
+ "achievementId" : 91475320766542,
466
+ "completionDate" : 1311347836
467
+ }, {
468
+ "achievementId" : 91475035553838,
469
+ "completionDate" : 1305469000
470
+ }, {
471
+ "achievementId" : 91475035553848,
472
+ "completionDate" : 1293202143
473
+ }, {
474
+ "achievementId" : 91475035553821,
475
+ "completionDate" : 1291461608
476
+ }, {
477
+ "achievementId" : 91475035553847,
478
+ "completionDate" : 1290828618
479
+ }, {
480
+ "achievementId" : 91475035553833,
481
+ "completionDate" : 1290691549
482
+ }, {
483
+ "achievementId" : 91475320766710,
484
+ "completionDate" : 1290689257
485
+ }, {
486
+ "achievementId" : 91475035553814,
487
+ "completionDate" : 1289752302
488
+ }, {
489
+ "achievementId" : 91475035553840,
490
+ "completionDate" : 1289752244
491
+ }, {
492
+ "achievementId" : 91475035553816,
493
+ "completionDate" : 1285425069
494
+ }, {
495
+ "achievementId" : 91475035553819,
496
+ "completionDate" : 1285425015
497
+ }, {
498
+ "achievementId" : 91475035553844,
499
+ "completionDate" : 1285259329
500
+ }, {
501
+ "achievementId" : 91475035553798,
502
+ "completionDate" : 1285258370
503
+ }, {
504
+ "achievementId" : 91475320766506,
505
+ "completionDate" : 1285258347
506
+ }, {
507
+ "achievementId" : 91475320766709,
508
+ "completionDate" : 1285258347
509
+ }, {
510
+ "achievementId" : 91475320766700,
511
+ "completionDate" : 1285258347
512
+ }, {
513
+ "achievementId" : 91475320766707,
514
+ "completionDate" : 1285258347
515
+ }, {
516
+ "achievementId" : 91475035553828,
517
+ "completionDate" : 1285256239
518
+ } ]
519
+ }
520
+ }
521
+ http_version:
522
+ recorded_at: Fri, 29 Aug 2014 08:40:07 GMT
523
+ recorded_with: VCR 2.9.2