blizzard_api 0.5.4 → 0.6.2

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 (60) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -1
  3. data/.rubocop.yml +1 -1
  4. data/CHANGELOG.md +27 -1
  5. data/Gemfile.lock +16 -12
  6. data/README.md +57 -215
  7. data/blizzard_api.gemspec +2 -1
  8. data/lib/blizzard_api/configuration.rb +10 -34
  9. data/lib/blizzard_api/diablo/community/act.rb +4 -4
  10. data/lib/blizzard_api/diablo/community/artisan.rb +4 -4
  11. data/lib/blizzard_api/diablo/community/character.rb +4 -4
  12. data/lib/blizzard_api/diablo/community/follower.rb +2 -2
  13. data/lib/blizzard_api/diablo/community/item.rb +2 -2
  14. data/lib/blizzard_api/diablo/community/item_type.rb +4 -4
  15. data/lib/blizzard_api/diablo/community/profile.rb +4 -4
  16. data/lib/blizzard_api/diablo/game_data/generic_data_endpoint.rb +6 -6
  17. data/lib/blizzard_api/hearthstone/game_data/back.rb +2 -2
  18. data/lib/blizzard_api/hearthstone/game_data/card.rb +4 -4
  19. data/lib/blizzard_api/hearthstone/game_data/generic_data_endpoint.rb +4 -4
  20. data/lib/blizzard_api/request.rb +26 -9
  21. data/lib/blizzard_api/starcraft.rb +1 -1
  22. data/lib/blizzard_api/starcraft/community/account.rb +1 -1
  23. data/lib/blizzard_api/starcraft/community/ladder.rb +4 -4
  24. data/lib/blizzard_api/starcraft/community/legacy.rb +9 -10
  25. data/lib/blizzard_api/starcraft/community/profile.rb +10 -10
  26. data/lib/blizzard_api/starcraft/game_data/league.rb +2 -2
  27. data/lib/blizzard_api/version.rb +1 -1
  28. data/lib/blizzard_api/wow.rb +0 -7
  29. data/lib/blizzard_api/wow/game_data/achievement.rb +6 -6
  30. data/lib/blizzard_api/wow/game_data/auction.rb +20 -2
  31. data/lib/blizzard_api/wow/game_data/azerite_essence.rb +2 -2
  32. data/lib/blizzard_api/wow/game_data/covenant.rb +10 -10
  33. data/lib/blizzard_api/wow/game_data/creature.rb +19 -13
  34. data/lib/blizzard_api/wow/game_data/generic_data_endpoint.rb +23 -11
  35. data/lib/blizzard_api/wow/game_data/guild_crest.rb +6 -4
  36. data/lib/blizzard_api/wow/game_data/item.rb +16 -12
  37. data/lib/blizzard_api/wow/game_data/journal.rb +15 -15
  38. data/lib/blizzard_api/wow/game_data/modified_crafting.rb +8 -8
  39. data/lib/blizzard_api/wow/game_data/mythic_keystone.rb +12 -12
  40. data/lib/blizzard_api/wow/game_data/mythic_keystone_affix.rb +2 -2
  41. data/lib/blizzard_api/wow/game_data/mythic_keystone_leaderboard.rb +4 -4
  42. data/lib/blizzard_api/wow/game_data/mythic_raid_leaderboard.rb +2 -2
  43. data/lib/blizzard_api/wow/game_data/pet.rb +8 -8
  44. data/lib/blizzard_api/wow/game_data/playable_class.rb +14 -12
  45. data/lib/blizzard_api/wow/game_data/playable_specialization.rb +10 -10
  46. data/lib/blizzard_api/wow/game_data/profession.rb +8 -8
  47. data/lib/blizzard_api/wow/game_data/pvp_season.rb +8 -6
  48. data/lib/blizzard_api/wow/game_data/pvp_tier.rb +2 -2
  49. data/lib/blizzard_api/wow/game_data/quest.rb +12 -12
  50. data/lib/blizzard_api/wow/game_data/reputation.rb +8 -8
  51. data/lib/blizzard_api/wow/game_data/spell.rb +2 -2
  52. data/lib/blizzard_api/wow/game_data/talent.rb +4 -4
  53. data/lib/blizzard_api/wow/game_data/tech_talent.rb +6 -6
  54. data/lib/blizzard_api/wow/game_data/wow_token.rb +2 -2
  55. data/lib/blizzard_api/wow/profile/character_profile.rb +53 -53
  56. data/lib/blizzard_api/wow/profile/guild.rb +10 -10
  57. data/lib/blizzard_api/wow/profile/profile.rb +10 -10
  58. data/lib/blizzard_api/wow/search/search_composer.rb +2 -2
  59. data/lib/blizzard_api/wow/search/search_request.rb +2 -2
  60. metadata +18 -4
@@ -16,8 +16,8 @@ module BlizzardApi
16
16
  # @!macro request_options
17
17
  #
18
18
  # @!macro response
19
- def tier_media(id, options = {})
20
- api_request "#{base_url(:media)}/#{@endpoint}/#{id}", default_options.merge(options)
19
+ def tier_media(id, **options)
20
+ api_request "#{base_url(:media)}/#{@endpoint}/#{id}", **default_options.merge(options)
21
21
  end
22
22
 
23
23
  protected
@@ -16,8 +16,8 @@ module BlizzardApi
16
16
  # @!macro request_options
17
17
  #
18
18
  # @!macro response
19
- def categories(options = {})
20
- api_request "#{endpoint_uri}/category/index", default_options.merge(options)
19
+ def categories(**options)
20
+ api_request "#{endpoint_uri}/category/index", **default_options.merge(options)
21
21
  end
22
22
 
23
23
  ##
@@ -27,8 +27,8 @@ module BlizzardApi
27
27
  # @!macro request_options
28
28
  #
29
29
  # @!macro response
30
- def category(id, options = {})
31
- api_request "#{endpoint_uri}/category/#{id}", default_options.merge(options)
30
+ def category(id, **options)
31
+ api_request "#{endpoint_uri}/category/#{id}", **default_options.merge(options)
32
32
  end
33
33
 
34
34
  ##
@@ -37,8 +37,8 @@ module BlizzardApi
37
37
  # @!macro request_options
38
38
  #
39
39
  # @!macro response
40
- def areas(options = {})
41
- api_request "#{endpoint_uri}/area/index", default_options.merge(options)
40
+ def areas(**options)
41
+ api_request "#{endpoint_uri}/area/index", **default_options.merge(options)
42
42
  end
43
43
 
44
44
  ##
@@ -48,8 +48,8 @@ module BlizzardApi
48
48
  # @!macro request_options
49
49
  #
50
50
  # @!macro response
51
- def area(id, options = {})
52
- api_request "#{endpoint_uri}/area/#{id}", default_options.merge(options)
51
+ def area(id, **options)
52
+ api_request "#{endpoint_uri}/area/#{id}", **default_options.merge(options)
53
53
  end
54
54
 
55
55
  ##
@@ -58,8 +58,8 @@ module BlizzardApi
58
58
  # @!macro request_options
59
59
  #
60
60
  # @!macro response
61
- def types(options = {})
62
- api_request "#{endpoint_uri}/type/index", default_options.merge(options)
61
+ def types(**options)
62
+ api_request "#{endpoint_uri}/type/index", **default_options.merge(options)
63
63
  end
64
64
 
65
65
  ##
@@ -69,8 +69,8 @@ module BlizzardApi
69
69
  # @!macro request_options
70
70
  #
71
71
  # @!macro response
72
- def type(id, options = {})
73
- api_request "#{endpoint_uri}/type/#{id}", default_options.merge(options)
72
+ def type(id, **options)
73
+ api_request "#{endpoint_uri}/type/#{id}", **default_options.merge(options)
74
74
  end
75
75
 
76
76
  protected
@@ -32,8 +32,8 @@ module BlizzardApi
32
32
  # @!macro request_options
33
33
  #
34
34
  # @!macro response
35
- def factions(options = {})
36
- api_request "#{endpoint_uri('faction')}/index", default_options.merge(options)
35
+ def factions(**options)
36
+ api_request "#{endpoint_uri('faction')}/index", **default_options.merge(options)
37
37
  end
38
38
 
39
39
  ##
@@ -43,8 +43,8 @@ module BlizzardApi
43
43
  # @!macro request_options
44
44
  #
45
45
  # @!macro response
46
- def faction(id, options = {})
47
- api_request "#{endpoint_uri('faction')}/#{id}", default_options.merge(options)
46
+ def faction(id, **options)
47
+ api_request "#{endpoint_uri('faction')}/#{id}", **default_options.merge(options)
48
48
  end
49
49
 
50
50
  ##
@@ -53,8 +53,8 @@ module BlizzardApi
53
53
  # @!macro request_options
54
54
  #
55
55
  # @!macro response
56
- def tiers(options = {})
57
- api_request "#{endpoint_uri('tiers')}/index", default_options.merge(options)
56
+ def tiers(**options)
57
+ api_request "#{endpoint_uri('tiers')}/index", **default_options.merge(options)
58
58
  end
59
59
 
60
60
  ##
@@ -64,8 +64,8 @@ module BlizzardApi
64
64
  # @!macro request_options
65
65
  #
66
66
  # @!macro response
67
- def tier(id, options = {})
68
- api_request "#{endpoint_uri('tiers')}/#{id}", default_options.merge(options)
67
+ def tier(id, **options)
68
+ api_request "#{endpoint_uri('tiers')}/#{id}", **default_options.merge(options)
69
69
  end
70
70
 
71
71
  protected
@@ -36,8 +36,8 @@ module BlizzardApi
36
36
  # @!macro request_options
37
37
  #
38
38
  # @!macro response
39
- def display_media(id, options = {})
40
- api_request "#{base_url(:media)}/spell/#{id}", default_options.merge(options)
39
+ def display_media(id, **options)
40
+ api_request "#{base_url(:media)}/spell/#{id}", **default_options.merge(options)
41
41
  end
42
42
 
43
43
  protected
@@ -16,8 +16,8 @@ module BlizzardApi
16
16
  # @!macro request_options
17
17
  #
18
18
  # @!macro response
19
- def pvp_talents(options = {})
20
- api_request "#{base_url(:game_data)}/pvp-talent/index", default_options.merge(options)
19
+ def pvp_talents(**options)
20
+ api_request "#{base_url(:game_data)}/pvp-talent/index", **default_options.merge(options)
21
21
  end
22
22
 
23
23
  ##
@@ -28,8 +28,8 @@ module BlizzardApi
28
28
  # @!macro request_options
29
29
  #
30
30
  # @!macro response
31
- def pvp_talent(id, options = {})
32
- api_request "#{base_url(:game_data)}/pvp-talent/#{id}", default_options.merge(options)
31
+ def pvp_talent(id, **options)
32
+ api_request "#{base_url(:game_data)}/pvp-talent/#{id}", **default_options.merge(options)
33
33
  end
34
34
 
35
35
  protected
@@ -16,8 +16,8 @@ module BlizzardApi
16
16
  # @!macro request_options
17
17
  #
18
18
  # @!macro response
19
- def tech_talent_trees(options = {})
20
- api_request "#{base_url(:game_data)}/tech-talent-tree/index", default_options.merge(options)
19
+ def tech_talent_trees(**options)
20
+ api_request "#{base_url(:game_data)}/tech-talent-tree/index", **default_options.merge(options)
21
21
  end
22
22
 
23
23
  ##
@@ -28,8 +28,8 @@ module BlizzardApi
28
28
  # @!macro request_options
29
29
  #
30
30
  # @!macro response
31
- def tech_talent_tree(id, options = {})
32
- api_request "#{base_url(:game_data)}/tech-talent-tree/#{id}", default_options.merge(options)
31
+ def tech_talent_tree(id, **options)
32
+ api_request "#{base_url(:game_data)}/tech-talent-tree/#{id}", **default_options.merge(options)
33
33
  end
34
34
 
35
35
  ##
@@ -40,8 +40,8 @@ module BlizzardApi
40
40
  # @!macro request_options
41
41
  #
42
42
  # @!macro response
43
- def media(id, options = {})
44
- api_request "#{base_url(:media)}/tech-talent/#{id}", default_options.merge(options)
43
+ def media(id, **options)
44
+ api_request "#{base_url(:media)}/tech-talent/#{id}", **default_options.merge(options)
45
45
  end
46
46
 
47
47
  protected
@@ -16,9 +16,9 @@ module BlizzardApi
16
16
  # @!macro request_options
17
17
  #
18
18
  # @!macro response
19
- def get(options = {})
19
+ def get(**options)
20
20
  opts = { namespace: :dynamic, ttl: CACHE_HOUR }.merge(options)
21
- api_request "#{base_url(:game_data)}/token/index", opts
21
+ api_request "#{base_url(:game_data)}/token/index", **opts
22
22
  end
23
23
  end
24
24
  end
@@ -22,8 +22,8 @@ module BlizzardApi
22
22
  # @!macro request_options
23
23
  #
24
24
  # @!macro response
25
- def get(realm, character, options = {})
26
- character_request realm, character, options
25
+ def get(realm, character, **options)
26
+ character_request realm, character, **options
27
27
  end
28
28
 
29
29
  ##
@@ -36,8 +36,8 @@ module BlizzardApi
36
36
  # @!macro request_options
37
37
  #
38
38
  # @!macro response
39
- def achievements(realm, character, options = {})
40
- character_request realm, character, options, 'achievements'
39
+ def achievements(realm, character, **options)
40
+ character_request realm, character, 'achievements', **options
41
41
  end
42
42
 
43
43
  ##
@@ -50,8 +50,8 @@ module BlizzardApi
50
50
  # @!macro request_options
51
51
  #
52
52
  # @!macro response
53
- def achievement_statistics(realm, character, options = {})
54
- character_request realm, character, options, 'achievements/statistics'
53
+ def achievement_statistics(realm, character, **options)
54
+ character_request realm, character, 'achievements/statistics', **options
55
55
  end
56
56
 
57
57
  ##
@@ -64,8 +64,8 @@ module BlizzardApi
64
64
  # @!macro request_options
65
65
  #
66
66
  # @!macro response
67
- def appearance(realm, character, options = {})
68
- character_request realm, character, options, 'appearance'
67
+ def appearance(realm, character, **options)
68
+ character_request realm, character, 'appearance', **options
69
69
  end
70
70
 
71
71
  ##
@@ -78,8 +78,8 @@ module BlizzardApi
78
78
  # @!macro request_options
79
79
  #
80
80
  # @!macro response
81
- def collections(realm, character, options = {})
82
- character_request realm, character, options, 'collections'
81
+ def collections(realm, character, **options)
82
+ character_request realm, character, 'collections', **options
83
83
  end
84
84
 
85
85
  ##
@@ -92,8 +92,8 @@ module BlizzardApi
92
92
  # @!macro request_options
93
93
  #
94
94
  # @!macro response
95
- def pets(realm, character, options = {})
96
- character_request realm, character, options, 'collections/pets'
95
+ def pets(realm, character, **options)
96
+ character_request realm, character, 'collections/pets', **options
97
97
  end
98
98
 
99
99
  ##
@@ -106,8 +106,8 @@ module BlizzardApi
106
106
  # @!macro request_options
107
107
  #
108
108
  # @!macro response
109
- def mounts(realm, character, options = {})
110
- character_request realm, character, options, 'collections/mounts'
109
+ def mounts(realm, character, **options)
110
+ character_request realm, character, 'collections/mounts', **options
111
111
  end
112
112
 
113
113
  ##
@@ -120,8 +120,8 @@ module BlizzardApi
120
120
  # @!macro request_options
121
121
  #
122
122
  # @!macro response
123
- def encounters(realm, character, options = {})
124
- character_request realm, character, options, 'encounters'
123
+ def encounters(realm, character, **options)
124
+ character_request realm, character, 'encounters', **options
125
125
  end
126
126
 
127
127
  ##
@@ -134,8 +134,8 @@ module BlizzardApi
134
134
  # @!macro request_options
135
135
  #
136
136
  # @!macro response
137
- def dungeons(realm, character, options = {})
138
- character_request realm, character, options, 'encounters/dungeons'
137
+ def dungeons(realm, character, **options)
138
+ character_request realm, character, 'encounters/dungeons', **options
139
139
  end
140
140
 
141
141
  ##
@@ -148,8 +148,8 @@ module BlizzardApi
148
148
  # @!macro request_options
149
149
  #
150
150
  # @!macro response
151
- def raids(realm, character, options = {})
152
- character_request realm, character, options, 'encounters/raids'
151
+ def raids(realm, character, **options)
152
+ character_request realm, character, 'encounters/raids', **options
153
153
  end
154
154
 
155
155
  ##
@@ -162,8 +162,8 @@ module BlizzardApi
162
162
  # @!macro request_options
163
163
  #
164
164
  # @!macro response
165
- def equipment(realm, character, options = {})
166
- character_request realm, character, options, 'equipment'
165
+ def equipment(realm, character, **options)
166
+ character_request realm, character, 'equipment', **options
167
167
  end
168
168
 
169
169
  ##
@@ -176,8 +176,8 @@ module BlizzardApi
176
176
  # @!macro request_options
177
177
  #
178
178
  # @!macro response
179
- def hunter_pets(realm, character, options = {})
180
- character_request realm, character, options, 'hunter-pets'
179
+ def hunter_pets(realm, character, **options)
180
+ character_request realm, character, 'hunter-pets', **options
181
181
  end
182
182
 
183
183
  ##
@@ -190,8 +190,8 @@ module BlizzardApi
190
190
  # @!macro request_options
191
191
  #
192
192
  # @!macro response
193
- def media(realm, character, options = {})
194
- character_request realm, character, options, 'character-media'
193
+ def media(realm, character, **options)
194
+ character_request realm, character, 'character-media', **options
195
195
  end
196
196
 
197
197
  ##
@@ -204,8 +204,8 @@ module BlizzardApi
204
204
  # @!macro request_options
205
205
  #
206
206
  # @!macro response
207
- def mythic_keystone_profile(realm, character, options = {})
208
- character_request realm, character, options, 'mythic-keystone-profile'
207
+ def mythic_keystone_profile(realm, character, **options)
208
+ character_request realm, character, 'mythic-keystone-profile', **options
209
209
  end
210
210
 
211
211
  ##
@@ -219,8 +219,8 @@ module BlizzardApi
219
219
  # @!macro request_options
220
220
  #
221
221
  # @!macro response
222
- def mythic_keystone_seasons(realm, character, season = nil, options = {})
223
- character_request realm, character, options, "mythic-keystone-profile/season/#{season}"
222
+ def mythic_keystone_seasons(realm, character, season = nil, **options)
223
+ character_request realm, character, "mythic-keystone-profile/season/#{season}", **options
224
224
  end
225
225
 
226
226
  ##
@@ -233,8 +233,8 @@ module BlizzardApi
233
233
  # @!macro request_options
234
234
  #
235
235
  # @!macro response
236
- def professions(realm, character, options = {})
237
- character_request realm, character, options, 'professions'
236
+ def professions(realm, character, **options)
237
+ character_request realm, character, 'professions', **options
238
238
  end
239
239
 
240
240
  ##
@@ -248,8 +248,8 @@ module BlizzardApi
248
248
  # @!macro request_options
249
249
  #
250
250
  # @!macro response
251
- def status(realm, character, options = {})
252
- character_request realm, character, options, 'status'
251
+ def status(realm, character, **options)
252
+ character_request realm, character, 'status', **options
253
253
  end
254
254
 
255
255
  ##
@@ -263,8 +263,8 @@ module BlizzardApi
263
263
  # @!macro request_options
264
264
  #
265
265
  # @!macro response
266
- def pvp_bracket(realm, character, bracket, options = {})
267
- character_request realm, character, options, "pvp-bracket/#{bracket}"
266
+ def pvp_bracket(realm, character, bracket, **options)
267
+ character_request realm, character, "pvp-bracket/#{bracket}", **options
268
268
  end
269
269
 
270
270
  ##
@@ -277,8 +277,8 @@ module BlizzardApi
277
277
  # @!macro request_options
278
278
  #
279
279
  # @!macro response
280
- def pvp_summary(realm, character, options = {})
281
- character_request realm, character, options, 'pvp-summary'
280
+ def pvp_summary(realm, character, **options)
281
+ character_request realm, character, 'pvp-summary', **options
282
282
  end
283
283
 
284
284
  ##
@@ -292,11 +292,11 @@ module BlizzardApi
292
292
  # @option options [Boolean] :completed Should return completed quests
293
293
  #
294
294
  # @!macro response
295
- def quests(realm, character, options = {})
295
+ def quests(realm, character, **options)
296
296
  completed = options.delete(:completed) || false
297
- return character_request realm, character, options, 'quests/completed' if completed
297
+ return character_request realm, character, 'quests/completed', **options if completed
298
298
 
299
- character_request realm, character, options, 'quests'
299
+ character_request realm, character, 'quests', **options
300
300
  end
301
301
 
302
302
  ##
@@ -309,8 +309,8 @@ module BlizzardApi
309
309
  # @!macro request_options
310
310
  #
311
311
  # @!macro response
312
- def reputation(realm, character, options = {})
313
- character_request realm, character, options, 'reputations'
312
+ def reputation(realm, character, **options)
313
+ character_request realm, character, 'reputations', **options
314
314
  end
315
315
 
316
316
  ##
@@ -323,8 +323,8 @@ module BlizzardApi
323
323
  # @!macro request_options
324
324
  #
325
325
  # @!macro response
326
- def soulbinds(realm, character, options = {})
327
- character_request realm, character, options, 'soulbinds'
326
+ def soulbinds(realm, character, **options)
327
+ character_request realm, character, 'soulbinds', **options
328
328
  end
329
329
 
330
330
  ##
@@ -337,8 +337,8 @@ module BlizzardApi
337
337
  # @!macro request_options
338
338
  #
339
339
  # @!macro response
340
- def specializations(realm, character, options = {})
341
- character_request realm, character, options, 'specializations'
340
+ def specializations(realm, character, **options)
341
+ character_request realm, character, 'specializations', **options
342
342
  end
343
343
 
344
344
  ##
@@ -351,8 +351,8 @@ module BlizzardApi
351
351
  # @!macro request_options
352
352
  #
353
353
  # @!macro response
354
- def statistics(realm, character, options = {})
355
- character_request realm, character, options, 'statistics'
354
+ def statistics(realm, character, **options)
355
+ character_request realm, character, 'statistics', **options
356
356
  end
357
357
 
358
358
  ##
@@ -365,8 +365,8 @@ module BlizzardApi
365
365
  # @!macro request_options
366
366
  #
367
367
  # @!macro response
368
- def titles(realm, character, options = {})
369
- character_request realm, character, options, 'titles'
368
+ def titles(realm, character, **options)
369
+ character_request realm, character, 'titles', **options
370
370
  end
371
371
 
372
372
  private
@@ -377,10 +377,10 @@ module BlizzardApi
377
377
  opts
378
378
  end
379
379
 
380
- def character_request(realm, character, options = {}, variant = nil)
380
+ def character_request(realm, character, variant = nil, **options)
381
381
  uri = "#{base_url(:profile)}/character/#{string_to_slug(realm)}/#{string_to_slug(character)}"
382
382
  uri += "/#{variant}" if variant
383
- api_request uri, default_options.merge(options)
383
+ api_request uri, **default_options.merge(options)
384
384
  end
385
385
  end
386
386
  end