bnet 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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