blizzard_api 0.5.6 → 0.6.0

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 (52) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +1 -1
  3. data/CHANGELOG.md +6 -0
  4. data/Gemfile.lock +6 -2
  5. data/blizzard_api.gemspec +2 -1
  6. data/lib/blizzard_api/configuration.rb +10 -34
  7. data/lib/blizzard_api/diablo/community/act.rb +2 -2
  8. data/lib/blizzard_api/diablo/community/artisan.rb +2 -2
  9. data/lib/blizzard_api/diablo/community/character.rb +2 -2
  10. data/lib/blizzard_api/diablo/community/follower.rb +1 -1
  11. data/lib/blizzard_api/diablo/community/item.rb +1 -1
  12. data/lib/blizzard_api/diablo/community/item_type.rb +2 -2
  13. data/lib/blizzard_api/diablo/game_data/generic_data_endpoint.rb +3 -3
  14. data/lib/blizzard_api/hearthstone/game_data/back.rb +1 -1
  15. data/lib/blizzard_api/hearthstone/game_data/card.rb +2 -2
  16. data/lib/blizzard_api/hearthstone/game_data/generic_data_endpoint.rb +2 -2
  17. data/lib/blizzard_api/request.rb +5 -4
  18. data/lib/blizzard_api/starcraft/community/ladder.rb +2 -2
  19. data/lib/blizzard_api/starcraft/community/profile.rb +5 -5
  20. data/lib/blizzard_api/starcraft/game_data/league.rb +1 -1
  21. data/lib/blizzard_api/version.rb +1 -1
  22. data/lib/blizzard_api/wow/game_data/achievement.rb +3 -3
  23. data/lib/blizzard_api/wow/game_data/auction.rb +1 -1
  24. data/lib/blizzard_api/wow/game_data/azerite_essence.rb +1 -1
  25. data/lib/blizzard_api/wow/game_data/covenant.rb +5 -5
  26. data/lib/blizzard_api/wow/game_data/creature.rb +6 -6
  27. data/lib/blizzard_api/wow/game_data/generic_data_endpoint.rb +20 -8
  28. data/lib/blizzard_api/wow/game_data/guild_crest.rb +2 -2
  29. data/lib/blizzard_api/wow/game_data/item.rb +6 -6
  30. data/lib/blizzard_api/wow/game_data/journal.rb +7 -7
  31. data/lib/blizzard_api/wow/game_data/modified_crafting.rb +4 -4
  32. data/lib/blizzard_api/wow/game_data/mythic_keystone.rb +6 -6
  33. data/lib/blizzard_api/wow/game_data/mythic_keystone_affix.rb +1 -1
  34. data/lib/blizzard_api/wow/game_data/mythic_keystone_leaderboard.rb +2 -2
  35. data/lib/blizzard_api/wow/game_data/mythic_raid_leaderboard.rb +1 -1
  36. data/lib/blizzard_api/wow/game_data/pet.rb +4 -4
  37. data/lib/blizzard_api/wow/game_data/playable_class.rb +8 -8
  38. data/lib/blizzard_api/wow/game_data/playable_specialization.rb +8 -8
  39. data/lib/blizzard_api/wow/game_data/profession.rb +4 -4
  40. data/lib/blizzard_api/wow/game_data/pvp_season.rb +3 -3
  41. data/lib/blizzard_api/wow/game_data/pvp_tier.rb +1 -1
  42. data/lib/blizzard_api/wow/game_data/quest.rb +6 -6
  43. data/lib/blizzard_api/wow/game_data/reputation.rb +4 -4
  44. data/lib/blizzard_api/wow/game_data/spell.rb +1 -1
  45. data/lib/blizzard_api/wow/game_data/talent.rb +2 -2
  46. data/lib/blizzard_api/wow/game_data/tech_talent.rb +3 -3
  47. data/lib/blizzard_api/wow/game_data/wow_token.rb +1 -1
  48. data/lib/blizzard_api/wow/profile/character_profile.rb +27 -27
  49. data/lib/blizzard_api/wow/profile/guild.rb +5 -5
  50. data/lib/blizzard_api/wow/profile/profile.rb +5 -5
  51. data/lib/blizzard_api/wow/search/search_request.rb +1 -1
  52. metadata +18 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b285d4489642a601b88964d4b1a150edde7e95fef456be3bf2ea03fa0bc2c7e9
4
- data.tar.gz: 8856431d0831292b61e54b7a558270bcb8c3288153490a20268057a00a91a505
3
+ metadata.gz: 7671ab9869534ec9c4c8031eac8e73ac9f389b9199cd9ca61a0e80127de66c53
4
+ data.tar.gz: 915f7c1ff4b867b4b403dcb55128ab134b5012f380e90a8c589097ba57bf28a8
5
5
  SHA512:
6
- metadata.gz: 98257842acc25c914dc2f1b3237b52ae52c6d197906c9c42b3a4ddca3fd54a25718bf61a15ed97155c330c9cad1ef0b2938dc266e4537da32d7e880b97b230a8
7
- data.tar.gz: a6f85d169c53bf0a9e671b07b73fbd21333bc1eb3457d4be9c5e47fae57be6a99083f575f91c112ca1dea8c89d9a1c7e073f8f7b54569421cf5a5de5e0faf349
6
+ metadata.gz: 50ce63d400f8997131913f6b677b3676bf68c5134d0acf5328276a37d861073f57004eb3c922821c261608a17610e25c956a1401633d99d25af68cb05c8729f8
7
+ data.tar.gz: f57a645a37541c1ab06113439529822b84fe71808447303d04b25ba947e368754169e7cb6532482d584061c5a0708b1c7ecf0fe9392c896e236bc132f8c4885b
@@ -10,7 +10,7 @@ jobs:
10
10
  - name: Set up Ruby
11
11
  uses: ruby/setup-ruby@21351ecc0a7c196081abca5dc55b08f085efe09a
12
12
  with:
13
- ruby-version: 2.6
13
+ ruby-version: 3.0.0-preview1
14
14
  - name: Install dependencies
15
15
  run: bundle install
16
16
  - name: Run tests
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  Please view this file on the master branch, otherwise it may be outdated
2
2
 
3
+ **Version 0.6.0**
4
+
5
+ Upgraded gem dependencies and refactored the code to support Ruby 3.0.0
6
+ Required ruby version upgraded to 2.7.2
7
+ Added concurrency to all WoW game data *complete* methods. Default of 4 threads. Should be close to # of threads available.
8
+
3
9
  **Version 0.5.6**
4
10
 
5
11
  Upgrade gem dependencies to fix a security vulnerability
data/Gemfile.lock CHANGED
@@ -1,14 +1,16 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- blizzard_api (0.5.6)
4
+ blizzard_api (0.6.0)
5
5
  redis (~> 4.1, >= 4.1.0)
6
+ thwait (~> 0.2.0)
6
7
 
7
8
  GEM
8
9
  remote: https://rubygems.org/
9
10
  specs:
10
11
  ast (2.4.2)
11
12
  dotenv (2.7.6)
13
+ e2mmap (0.1.0)
12
14
  minitest (5.14.4)
13
15
  parallel (1.20.1)
14
16
  parser (3.0.1.1)
@@ -30,6 +32,8 @@ GEM
30
32
  rubocop-ast (1.5.0)
31
33
  parser (>= 3.0.1.1)
32
34
  ruby-progressbar (1.11.0)
35
+ thwait (0.2.0)
36
+ e2mmap
33
37
  unicode-display_width (1.7.0)
34
38
  yard (0.9.26)
35
39
 
@@ -45,4 +49,4 @@ DEPENDENCIES
45
49
  yard
46
50
 
47
51
  BUNDLED WITH
48
- 2.1.4
52
+ 2.2.17
data/blizzard_api.gemspec CHANGED
@@ -5,7 +5,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'blizzard_api/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.required_ruby_version = '>= 2.5'
8
+ spec.required_ruby_version = '>= 2.7.2'
9
9
  spec.name = 'blizzard_api'
10
10
  spec.version = BlizzardApi::VERSION
11
11
  spec.authors = ['Francis Schiavo']
@@ -35,6 +35,7 @@ Gem::Specification.new do |spec|
35
35
  spec.require_paths = ['lib']
36
36
 
37
37
  spec.add_runtime_dependency 'redis', '~> 4.1', '>= 4.1.0'
38
+ spec.add_runtime_dependency 'thwait', '~> 0.2.0'
38
39
 
39
40
  spec.add_development_dependency 'dotenv'
40
41
  spec.add_development_dependency 'minitest', '~> 5.0'
@@ -45,13 +45,12 @@ module BlizzardApi
45
45
  attr_accessor :redis_port
46
46
 
47
47
  ##
48
- # @!attribute format
49
- # Response format:
50
- # * *:raw* plain text (String)
51
- # * *:json* for native ruby json (Array).
52
- # * Any other value *OpenStruct* will be used.
53
- # @return [Symbol] Response format.
54
- attr_accessor :format
48
+ #
49
+ # @!attribute concurrency
50
+ # How many threads to use for WoW game data `complete` payloads. Defaults to 4.
51
+ # Should be set to the amount of available cores on the system.
52
+ # @return [Integer] Concurrency
53
+ attr_accessor :concurrency
55
54
 
56
55
  ##
57
56
  # @!attribute access_token
@@ -59,33 +58,6 @@ module BlizzardApi
59
58
  # @return [String] Access token.
60
59
  attr_accessor :access_token
61
60
 
62
- ##
63
- # @!attribute icons_directory
64
- # Icons directory.
65
- # This directory stores icons for many World of Warcraft endpoints.
66
- # @return [String] icons_directory
67
- attr_accessor :wow_icons_directory
68
-
69
- ##
70
- # @!attribute guild_emblem_directory
71
- # Guild crest images directory. Some sub directories will be created.
72
- # @see https://develop.battle.net/access/clients
73
- # @return [String] Guild crest directory
74
- attr_accessor :wow_guild_crest_directory
75
-
76
- ##
77
- # @!attribute wow_character_profile_directory
78
- # This directory stores images for World of Warcraft character profiles. Sub directories will be created for
79
- # each realm and character.
80
- # @return [String] Character profile media directory
81
- attr_accessor :wow_character_profile_directory
82
-
83
- ##
84
- # @!attribute wow_npc_directory
85
- # This directory stores images for World of Warcraft NPCs and creatures.
86
- # @return [String] NPCs media directory
87
- attr_accessor :wow_npc_directory
88
-
89
61
  ##
90
62
  # This method return the singleton instance of the configuration module. Use this to initialize the default values
91
63
  # and options.
@@ -110,5 +82,9 @@ module BlizzardApi
110
82
  def configure
111
83
  yield self
112
84
  end
85
+
86
+ def concurrency
87
+ @concurrency ||= 4
88
+ end
113
89
  end
114
90
  end
@@ -17,7 +17,7 @@ module BlizzardApi
17
17
  #
18
18
  # @!macro response
19
19
  def index(**options)
20
- api_request "#{base_url(:community)}/data/act", { ttl: CACHE_TRIMESTER }.merge(options)
20
+ api_request "#{base_url(:community)}/data/act", **{ ttl: CACHE_TRIMESTER }.merge(options)
21
21
  end
22
22
 
23
23
  ##
@@ -28,7 +28,7 @@ module BlizzardApi
28
28
  #
29
29
  # @!macro response
30
30
  def get(id, **options)
31
- api_request "#{base_url(:community)}/data/act/#{id}", { ttl: CACHE_TRIMESTER }.merge(options)
31
+ api_request "#{base_url(:community)}/data/act/#{id}", **{ ttl: CACHE_TRIMESTER }.merge(options)
32
32
  end
33
33
  end
34
34
  end
@@ -18,7 +18,7 @@ module BlizzardApi
18
18
  #
19
19
  # @!macro response
20
20
  def get(artisan_slug, **options)
21
- api_request "#{base_url(:community)}/data/artisan/#{artisan_slug}", { ttl: CACHE_TRIMESTER }.merge(options)
21
+ api_request "#{base_url(:community)}/data/artisan/#{artisan_slug}", **{ ttl: CACHE_TRIMESTER }.merge(options)
22
22
  end
23
23
 
24
24
  ##
@@ -31,7 +31,7 @@ module BlizzardApi
31
31
  # @!macro response
32
32
  def recipe(artisan_slug, recipe_slug, **options)
33
33
  opts = { ttl: CACHE_TRIMESTER }.merge(options)
34
- api_request "#{base_url(:community)}/data/artisan/#{artisan_slug}/recipe/#{recipe_slug}", opts
34
+ api_request "#{base_url(:community)}/data/artisan/#{artisan_slug}/recipe/#{recipe_slug}", **opts
35
35
  end
36
36
  end
37
37
  end
@@ -18,7 +18,7 @@ module BlizzardApi
18
18
  #
19
19
  # @!macro response
20
20
  def get(class_slug, **options)
21
- api_request "#{base_url(:community)}/data/hero/#{class_slug}", { ttl: CACHE_TRIMESTER }.merge(options)
21
+ api_request "#{base_url(:community)}/data/hero/#{class_slug}", **{ ttl: CACHE_TRIMESTER }.merge(options)
22
22
  end
23
23
 
24
24
  ##
@@ -31,7 +31,7 @@ module BlizzardApi
31
31
  # @!macro response
32
32
  def skill(class_slug, skill_slug, **options)
33
33
  opts = { ttl: CACHE_TRIMESTER }.merge(options)
34
- api_request "#{base_url(:community)}/data/hero/#{class_slug}/skill/#{skill_slug}", opts
34
+ api_request "#{base_url(:community)}/data/hero/#{class_slug}/skill/#{skill_slug}", **opts
35
35
  end
36
36
  end
37
37
  end
@@ -18,7 +18,7 @@ module BlizzardApi
18
18
  #
19
19
  # @!macro response
20
20
  def get(follower_slug, **options)
21
- api_request "#{base_url(:community)}/data/follower/#{follower_slug}", { ttl: CACHE_TRIMESTER }.merge(options)
21
+ api_request "#{base_url(:community)}/data/follower/#{follower_slug}", **{ ttl: CACHE_TRIMESTER }.merge(options)
22
22
  end
23
23
  end
24
24
  end
@@ -18,7 +18,7 @@ module BlizzardApi
18
18
  #
19
19
  # @!macro response
20
20
  def get(item_slug_and_id, **options)
21
- api_request "#{base_url(:community)}/data/item/#{item_slug_and_id}", { ttl: CACHE_TRIMESTER }.merge(options)
21
+ api_request "#{base_url(:community)}/data/item/#{item_slug_and_id}", **{ ttl: CACHE_TRIMESTER }.merge(options)
22
22
  end
23
23
  end
24
24
  end
@@ -17,7 +17,7 @@ module BlizzardApi
17
17
  #
18
18
  # @!macro response
19
19
  def index(**options)
20
- api_request "#{base_url(:community)}/data/item-type", { ttl: CACHE_TRIMESTER }.merge(options)
20
+ api_request "#{base_url(:community)}/data/item-type", **{ ttl: CACHE_TRIMESTER }.merge(options)
21
21
  end
22
22
 
23
23
  ##
@@ -28,7 +28,7 @@ module BlizzardApi
28
28
  #
29
29
  # @!macro response
30
30
  def get(item_type_slug, **options)
31
- api_request "#{base_url(:community)}/data/item-type/#{item_type_slug}", { ttl: CACHE_TRIMESTER }.merge(options)
31
+ api_request "#{base_url(:community)}/data/item-type/#{item_type_slug}", **{ ttl: CACHE_TRIMESTER }.merge(options)
32
32
  end
33
33
  end
34
34
  end
@@ -17,7 +17,7 @@ module BlizzardApi
17
17
  #
18
18
  # @!macro response
19
19
  def index(**options)
20
- api_request "#{base_url(:game_data)}/#{@endpoint}/", default_options.merge(options)
20
+ api_request "#{base_url(:game_data)}/#{@endpoint}/", **default_options.merge(options)
21
21
  end
22
22
 
23
23
  ##
@@ -28,7 +28,7 @@ module BlizzardApi
28
28
  #
29
29
  # @!macro response
30
30
  def get(id, **options)
31
- api_request "#{base_url(:game_data)}/#{@endpoint}/#{id}", default_options.merge(options)
31
+ api_request "#{base_url(:game_data)}/#{@endpoint}/#{id}", **default_options.merge(options)
32
32
  end
33
33
 
34
34
  ##
@@ -41,7 +41,7 @@ module BlizzardApi
41
41
  # @!macro response
42
42
  def leaderboard(id, leaderboard_id, **options)
43
43
  opts = default_options.merge(options)
44
- api_request "#{base_url(:game_data)}/#{@endpoint}/#{id}/leaderboard/#{leaderboard_id}", opts
44
+ api_request "#{base_url(:game_data)}/#{@endpoint}/#{id}/leaderboard/#{leaderboard_id}", **opts
45
45
  end
46
46
 
47
47
  protected
@@ -39,7 +39,7 @@ module BlizzardApi
39
39
  def search(search_options = {}, **options)
40
40
  validate_search_options search_options if options.include? :validate_fields
41
41
 
42
- api_request "#{base_url(:community)}/cardbacks", default_options.merge(options).merge(search_options)
42
+ api_request "#{base_url(:community)}/cardbacks", **default_options.merge(options).merge(search_options)
43
43
  end
44
44
 
45
45
  protected
@@ -75,7 +75,7 @@ module BlizzardApi
75
75
  def search(search_options = {}, **options)
76
76
  validate_search_options search_options if options.include? :validate_fields
77
77
 
78
- api_request "#{base_url(:community)}/cards", default_options.merge(options).merge(search_options)
78
+ api_request "#{base_url(:community)}/cards", **default_options.merge(options).merge(search_options)
79
79
  end
80
80
 
81
81
  ##
@@ -91,7 +91,7 @@ module BlizzardApi
91
91
  #
92
92
  # @!macro response
93
93
  def get(id_or_slug, game_mode = 'constructed', **options)
94
- super id_or_slug, { gameMode: game_mode }.merge(options)
94
+ super id_or_slug, **{ gameMode: game_mode }.merge(options)
95
95
  end
96
96
 
97
97
  protected
@@ -21,7 +21,7 @@ module BlizzardApi
21
21
  #
22
22
  # @!macro response
23
23
  def index(**options)
24
- api_request "#{base_url(:community)}/#{@endpoint}/", default_options.merge(options)
24
+ api_request "#{base_url(:community)}/#{@endpoint}/", **default_options.merge(options)
25
25
  end
26
26
 
27
27
  ##
@@ -32,7 +32,7 @@ module BlizzardApi
32
32
  #
33
33
  # @!macro response
34
34
  def get(id, **options)
35
- api_request "#{base_url(:community)}/#{@endpoint}/#{id}", default_options.merge(options)
35
+ api_request "#{base_url(:community)}/#{@endpoint}/#{id}", **default_options.merge(options)
36
36
  end
37
37
 
38
38
  protected
@@ -9,6 +9,7 @@
9
9
  # @option options [Boolean] :ignore_cache If set to true the request will not use the cache
10
10
  # @option options [Integer] :ttl Override the default time (in seconds) a request should be cached
11
11
  # @option options [DateTime] :since Adds the If-modified-since headers. Will always ignore cache when set.
12
+ # @option options [Integer] :concurrency How many threads to use for complete sets of data. BEWARE: Might cause 429 responses, in this case lower the number.
12
13
 
13
14
  ##
14
15
  # @!macro [new] regions
@@ -124,7 +125,7 @@ module BlizzardApi
124
125
  # If data was found that means cache is enabled and valid
125
126
  return JSON.parse(data, symbolize_names: true) if data
126
127
 
127
- response = consume_api parsed_url, options
128
+ response = consume_api parsed_url, **options
128
129
 
129
130
  save_in_cache parsed_url.to_s, response.body, options[:ttl] || CACHE_DAY if using_cache? options
130
131
 
@@ -134,7 +135,7 @@ module BlizzardApi
134
135
  response_data
135
136
  end
136
137
 
137
- def api_request(uri, query_string = {})
138
+ def api_request(uri, **query_string)
138
139
  # List of request options
139
140
  options_key = %i[ignore_cache ttl format access_token namespace classic headers since]
140
141
 
@@ -150,7 +151,7 @@ module BlizzardApi
150
151
  uri = uri.include?('?') ? "#{uri}&#{query_string}" : "#{uri}?#{query_string}"
151
152
  end
152
153
 
153
- request uri, options
154
+ request uri, **options
154
155
  end
155
156
 
156
157
  private
@@ -174,7 +175,7 @@ module BlizzardApi
174
175
  # Executes the request
175
176
  http.request(request).tap do |response|
176
177
  if mode.eql?(:regular) && ![200, 304].include?(response.code.to_i)
177
- raise BlizzardApi::ApiException.new 'Request failed', response.code.to_i
178
+ raise BlizzardApi::ApiException.new "Request failed with code '#{response.code}' details: #{response.to_hash}", response.code.to_i
178
179
  end
179
180
  end
180
181
  end
@@ -17,7 +17,7 @@ module BlizzardApi
17
17
  # @!macro request_options
18
18
  def grandmaster(region_id, **options)
19
19
  reg = resolve_region(region_id)
20
- api_request "#{base_url(:community)}/ladder/grandmaster/#{reg}", { ttl: CACHE_DAY }.merge(options)
20
+ api_request "#{base_url(:community)}/ladder/grandmaster/#{reg}", **{ ttl: CACHE_DAY }.merge(options)
21
21
  end
22
22
 
23
23
  ##
@@ -27,7 +27,7 @@ module BlizzardApi
27
27
  # @!macro request_options
28
28
  def season(region_id, **options)
29
29
  reg = resolve_region(region_id)
30
- api_request "#{base_url(:community)}/ladder/season/#{reg}", { ttl: CACHE_DAY }.merge(options)
30
+ api_request "#{base_url(:community)}/ladder/season/#{reg}", **{ ttl: CACHE_DAY }.merge(options)
31
31
  end
32
32
  end
33
33
  end
@@ -17,7 +17,7 @@ module BlizzardApi
17
17
  # @!macro request_options
18
18
  def static(region_id, **options)
19
19
  reg = resolve_region(region_id)
20
- api_request "#{base_url(:community)}/static/profile/#{reg}", { ttl: CACHE_DAY }.merge(options)
20
+ api_request "#{base_url(:community)}/static/profile/#{reg}", **{ ttl: CACHE_DAY }.merge(options)
21
21
  end
22
22
 
23
23
  ##
@@ -30,7 +30,7 @@ module BlizzardApi
30
30
  def metadata(region_id, realm_id, profile_id, **options)
31
31
  reg = resolve_region(region_id)
32
32
  opts = { ttl: CACHE_DAY }.merge(options)
33
- api_request "#{base_url(:community)}/metadata/profile/#{reg}/#{realm_id}/#{profile_id}", opts
33
+ api_request "#{base_url(:community)}/metadata/profile/#{reg}/#{realm_id}/#{profile_id}", **opts
34
34
  end
35
35
 
36
36
  ##
@@ -43,7 +43,7 @@ module BlizzardApi
43
43
  def profile(region_id, realm_id, profile_id, **options)
44
44
  reg = resolve_region(region_id)
45
45
  opts = { ttl: CACHE_DAY }.merge(options)
46
- api_request "#{base_url(:community)}/profile/#{reg}/#{realm_id}/#{profile_id}", opts
46
+ api_request "#{base_url(:community)}/profile/#{reg}/#{realm_id}/#{profile_id}", **opts
47
47
  end
48
48
 
49
49
  ##
@@ -56,7 +56,7 @@ module BlizzardApi
56
56
  def ladder_summary(region_id, realm_id, profile_id, **options)
57
57
  reg = resolve_region(region_id)
58
58
  opts = { ttl: CACHE_DAY }.merge(options)
59
- api_request "#{base_url(:community)}profile/#{reg}/#{realm_id}/#{profile_id}/ladder/summary ", opts
59
+ api_request "#{base_url(:community)}profile/#{reg}/#{realm_id}/#{profile_id}/ladder/summary ", **opts
60
60
  end
61
61
 
62
62
  ##
@@ -69,7 +69,7 @@ module BlizzardApi
69
69
  def ladder(region_id, realm_id, profile_id, ladder_id, **options)
70
70
  reg = resolve_region(region_id)
71
71
  opts = { ttl: CACHE_DAY }.merge(options)
72
- api_request "#{base_url(:community)}/profile/#{reg}/#{realm_id}/#{profile_id}/ladder/#{ladder_id}", opts
72
+ api_request "#{base_url(:community)}/profile/#{reg}/#{realm_id}/#{profile_id}/ladder/#{ladder_id}", **opts
73
73
  end
74
74
  end
75
75
  end
@@ -20,7 +20,7 @@ module BlizzardApi
20
20
  # @!macro request_options
21
21
  def get(season_id, queue_id, team_type, league_id, **options)
22
22
  opts = { ttl: CACHE_DAY }.merge(options)
23
- api_request "#{base_url(:game_data)}/league/#{season_id}/#{queue_id}/#{team_type}/#{league_id}", opts
23
+ api_request "#{base_url(:game_data)}/league/#{season_id}/#{queue_id}/#{team_type}/#{league_id}", **opts
24
24
  end
25
25
  end
26
26
  end
@@ -2,5 +2,5 @@
2
2
 
3
3
  module BlizzardApi
4
4
  # Gem version
5
- VERSION = '0.5.6'
5
+ VERSION = '0.6.0'
6
6
  end
@@ -25,7 +25,7 @@ module BlizzardApi
25
25
  #
26
26
  # @!macro response
27
27
  def categories(**options)
28
- api_request "#{endpoint_uri('category')}/index", default_options.merge(options)
28
+ api_request "#{endpoint_uri('category')}/index", **default_options.merge(options)
29
29
  end
30
30
 
31
31
  ##
@@ -35,7 +35,7 @@ module BlizzardApi
35
35
  #
36
36
  # @!macro response
37
37
  def category(id, **options)
38
- api_request "#{endpoint_uri('category')}/#{id}", default_options.merge(options)
38
+ api_request "#{endpoint_uri('category')}/#{id}", **default_options.merge(options)
39
39
  end
40
40
 
41
41
  ##
@@ -45,7 +45,7 @@ module BlizzardApi
45
45
  #
46
46
  # @!macro response
47
47
  def media(id, **options)
48
- api_request "#{base_url(:media)}/achievement/#{id}", default_options.merge(options)
48
+ api_request "#{base_url(:media)}/achievement/#{id}", **default_options.merge(options)
49
49
  end
50
50
 
51
51
  protected