blizzard_api 0.6.3 → 3.0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +30 -0
- data/Gemfile.lock +12 -14
- data/blizzard_api.gemspec +0 -1
- data/lib/blizzard_api/api_response.rb +24 -0
- data/lib/blizzard_api/api_standards.rb +55 -0
- data/lib/blizzard_api/configuration.rb +20 -17
- data/lib/blizzard_api/diablo/game_data/generic_data_endpoint.rb +2 -2
- data/lib/blizzard_api/diablo/request.rb +3 -3
- data/lib/blizzard_api/diablo.rb +33 -27
- data/lib/blizzard_api/hearthstone/game_data/generic_data_endpoint.rb +2 -2
- data/lib/blizzard_api/hearthstone/request.rb +3 -3
- data/lib/blizzard_api/hearthstone.rb +18 -12
- data/lib/blizzard_api/request.rb +45 -83
- data/lib/blizzard_api/starcraft/community/legacy.rb +6 -6
- data/lib/blizzard_api/starcraft/request.rb +3 -3
- data/lib/blizzard_api/starcraft.rb +20 -14
- data/lib/blizzard_api/token_manager.rb +49 -0
- data/lib/blizzard_api/version.rb +1 -1
- data/lib/blizzard_api/wow/game_data/achievement.rb +1 -16
- data/lib/blizzard_api/wow/game_data/azerite_essence.rb +2 -9
- data/lib/blizzard_api/wow/game_data/connected_realm.rb +1 -8
- data/lib/blizzard_api/wow/game_data/covenant.rb +2 -9
- data/lib/blizzard_api/wow/game_data/creature.rb +2 -13
- data/lib/blizzard_api/wow/game_data/generic_data_endpoint.rb +10 -37
- data/lib/blizzard_api/wow/game_data/guild_crest.rb +4 -10
- data/lib/blizzard_api/wow/game_data/item.rb +3 -18
- data/lib/blizzard_api/wow/game_data/journal.rb +2 -17
- data/lib/blizzard_api/wow/game_data/media.rb +2 -13
- data/lib/blizzard_api/wow/game_data/modified_crafting.rb +1 -12
- data/lib/blizzard_api/wow/game_data/mount.rb +1 -8
- data/lib/blizzard_api/wow/game_data/mythic_keystone.rb +2 -13
- data/lib/blizzard_api/wow/game_data/mythic_keystone_affix.rb +2 -9
- data/lib/blizzard_api/wow/game_data/pet.rb +2 -9
- data/lib/blizzard_api/wow/game_data/playable_class.rb +2 -48
- data/lib/blizzard_api/wow/game_data/playable_race.rb +1 -8
- data/lib/blizzard_api/wow/game_data/playable_specialization.rb +1 -18
- data/lib/blizzard_api/wow/game_data/power_type.rb +1 -8
- data/lib/blizzard_api/wow/game_data/profession.rb +2 -9
- data/lib/blizzard_api/wow/game_data/pvp_region.rb +82 -0
- data/lib/blizzard_api/wow/game_data/pvp_season.rb +7 -9
- data/lib/blizzard_api/wow/game_data/pvp_tier.rb +3 -10
- data/lib/blizzard_api/wow/game_data/quest.rb +2 -9
- data/lib/blizzard_api/wow/game_data/realm.rb +1 -8
- data/lib/blizzard_api/wow/game_data/region.rb +1 -8
- data/lib/blizzard_api/wow/game_data/reputation.rb +2 -9
- data/lib/blizzard_api/wow/game_data/spell.rb +2 -17
- data/lib/blizzard_api/wow/game_data/talent.rb +2 -9
- data/lib/blizzard_api/wow/game_data/tech_talent.rb +2 -9
- data/lib/blizzard_api/wow/game_data/title.rb +1 -16
- data/lib/blizzard_api/wow/profile/profile.rb +2 -2
- data/lib/blizzard_api/wow/request.rb +3 -3
- data/lib/blizzard_api/wow.rb +122 -108
- data/lib/blizzard_api.rb +10 -0
- metadata +6 -16
@@ -12,6 +12,8 @@ module BlizzardApi
|
|
12
12
|
class Item < Wow::GenericDataEndpoint
|
13
13
|
include BlizzardApi::Wow::Searchable
|
14
14
|
|
15
|
+
setup 'item', :static, CACHE_TRIMESTER
|
16
|
+
|
15
17
|
##
|
16
18
|
# This method overrides the inherited default behavior to prevent high server load and fetch time
|
17
19
|
#
|
@@ -20,14 +22,6 @@ module BlizzardApi
|
|
20
22
|
raise BlizzardApi::ApiException, 'This endpoint does not have a index method'
|
21
23
|
end
|
22
24
|
|
23
|
-
##
|
24
|
-
# This method overrides the inherited default behavior to prevent high server load and fetch time
|
25
|
-
#
|
26
|
-
# @!macro response
|
27
|
-
def complete
|
28
|
-
raise BlizzardApi::ApiException, 'This endpoint does not have a complete method'
|
29
|
-
end
|
30
|
-
|
31
25
|
##
|
32
26
|
# Return a list of item classes
|
33
27
|
#
|
@@ -49,7 +43,7 @@ module BlizzardApi
|
|
49
43
|
# @option options [Boolean] :classic1x If set to true, this method will call the classic era version
|
50
44
|
#
|
51
45
|
# @!macro response
|
52
|
-
def
|
46
|
+
def item_class(id, **options)
|
53
47
|
api_request "#{endpoint_uri('class')}/#{id}", **default_options.merge(options)
|
54
48
|
end
|
55
49
|
|
@@ -101,15 +95,6 @@ module BlizzardApi
|
|
101
95
|
def set(id, **options)
|
102
96
|
api_request "#{endpoint_uri('set')}/#{id}", **default_options.merge(options)
|
103
97
|
end
|
104
|
-
|
105
|
-
protected
|
106
|
-
|
107
|
-
def endpoint_setup
|
108
|
-
@endpoint = 'item'
|
109
|
-
@namespace = :static
|
110
|
-
@collection = 'items'
|
111
|
-
@ttl = CACHE_TRIMESTER
|
112
|
-
end
|
113
98
|
end
|
114
99
|
end
|
115
100
|
end
|
@@ -10,6 +10,8 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.journal
|
12
12
|
class Journal < Wow::GenericDataEndpoint
|
13
|
+
setup 'journal', :static, CACHE_TRIMESTER
|
14
|
+
|
13
15
|
##
|
14
16
|
# This method overrides the inherited default behavior to prevent high server load and fetch time
|
15
17
|
#
|
@@ -18,14 +20,6 @@ module BlizzardApi
|
|
18
20
|
raise BlizzardApi::ApiException, 'This endpoint does not have a index method'
|
19
21
|
end
|
20
22
|
|
21
|
-
##
|
22
|
-
# This method overrides the inherited default behavior to prevent high server load and fetch time
|
23
|
-
#
|
24
|
-
# @!macro response
|
25
|
-
def complete
|
26
|
-
raise BlizzardApi::ApiException, 'This endpoint does not have a complete method'
|
27
|
-
end
|
28
|
-
|
29
23
|
##
|
30
24
|
# This method overrides the inherited default behavior to prevent high server load and fetch time
|
31
25
|
#
|
@@ -111,15 +105,6 @@ module BlizzardApi
|
|
111
105
|
|
112
106
|
api_request "#{endpoint_uri('encounter', :search)}?#{search_options.to_search_query}", **default_options.merge(options)
|
113
107
|
end
|
114
|
-
|
115
|
-
protected
|
116
|
-
|
117
|
-
def endpoint_setup
|
118
|
-
@endpoint = 'journal'
|
119
|
-
@namespace = :static
|
120
|
-
@collection = 'journals'
|
121
|
-
@ttl = CACHE_TRIMESTER
|
122
|
-
end
|
123
108
|
end
|
124
109
|
end
|
125
110
|
end
|
@@ -12,6 +12,8 @@ module BlizzardApi
|
|
12
12
|
class Media < Wow::GenericDataEndpoint
|
13
13
|
include BlizzardApi::Wow::Searchable
|
14
14
|
|
15
|
+
setup 'media', :static, CACHE_TRIMESTER
|
16
|
+
|
15
17
|
def index(_options = nil)
|
16
18
|
raise BlizzardApi::ApiException, 'This endpoint does not have a index method'
|
17
19
|
end
|
@@ -19,19 +21,6 @@ module BlizzardApi
|
|
19
21
|
def get(_options = nil)
|
20
22
|
raise BlizzardApi::ApiException, 'This endpoint does not have a get method'
|
21
23
|
end
|
22
|
-
|
23
|
-
def complete(_options = nil)
|
24
|
-
raise BlizzardApi::ApiException, 'This endpoint does not have a complete method'
|
25
|
-
end
|
26
|
-
|
27
|
-
protected
|
28
|
-
|
29
|
-
def endpoint_setup
|
30
|
-
@endpoint = 'media'
|
31
|
-
@namespace = :static
|
32
|
-
@collection = 'medias'
|
33
|
-
@ttl = CACHE_TRIMESTER
|
34
|
-
end
|
35
24
|
end
|
36
25
|
end
|
37
26
|
end
|
@@ -10,9 +10,7 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.modified_crafting
|
12
12
|
class ModifiedCrafting < Wow::GenericDataEndpoint
|
13
|
-
|
14
|
-
raise BlizzardApi::ApiException, 'This endpoint does not have a complete method.'
|
15
|
-
end
|
13
|
+
setup 'modified-crafting', :static, CACHE_TRIMESTER
|
16
14
|
|
17
15
|
##
|
18
16
|
# Fetch modified crafting category index
|
@@ -53,15 +51,6 @@ module BlizzardApi
|
|
53
51
|
def slot_type(id, **options)
|
54
52
|
api_request "#{base_url(:game_data)}/modified-crafting/reagent-slot-type/#{id}", **default_options.merge(options)
|
55
53
|
end
|
56
|
-
|
57
|
-
protected
|
58
|
-
|
59
|
-
def endpoint_setup
|
60
|
-
@endpoint = 'modified-crafting'
|
61
|
-
@namespace = :static
|
62
|
-
@collection = 'professions'
|
63
|
-
@ttl = CACHE_TRIMESTER
|
64
|
-
end
|
65
54
|
end
|
66
55
|
end
|
67
56
|
end
|
@@ -12,14 +12,7 @@ module BlizzardApi
|
|
12
12
|
class Mount < Wow::GenericDataEndpoint
|
13
13
|
include BlizzardApi::Wow::Searchable
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
def endpoint_setup
|
18
|
-
@endpoint = 'mount'
|
19
|
-
@namespace = :static
|
20
|
-
@collection = 'mounts'
|
21
|
-
@ttl = CACHE_TRIMESTER
|
22
|
-
end
|
15
|
+
setup 'mount', :static, CACHE_TRIMESTER
|
23
16
|
end
|
24
17
|
end
|
25
18
|
end
|
@@ -10,14 +10,12 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.mythic_keystone
|
12
12
|
class MythicKeystone < Wow::GenericDataEndpoint
|
13
|
+
setup 'mythic-keystone', :dynamic, CACHE_TRIMESTER
|
14
|
+
|
13
15
|
def get
|
14
16
|
raise BlizzardApi::ApiException, 'Mythic keystone endpoint does not have a get method'
|
15
17
|
end
|
16
18
|
|
17
|
-
def complete
|
18
|
-
raise BlizzardApi::ApiException, 'There are too many creatures to fetch complete data'
|
19
|
-
end
|
20
|
-
|
21
19
|
##
|
22
20
|
# Fetch all mythic keystone dungeons
|
23
21
|
#
|
@@ -83,15 +81,6 @@ module BlizzardApi
|
|
83
81
|
def season(id, **options)
|
84
82
|
api_request "#{endpoint_uri}/season/#{id}", **default_options.merge(options)
|
85
83
|
end
|
86
|
-
|
87
|
-
protected
|
88
|
-
|
89
|
-
def endpoint_setup
|
90
|
-
@endpoint = 'mythic-keystone'
|
91
|
-
@namespace = :dynamic
|
92
|
-
@collection = 'mythic-keystones'
|
93
|
-
@ttl = CACHE_TRIMESTER
|
94
|
-
end
|
95
84
|
end
|
96
85
|
end
|
97
86
|
end
|
@@ -10,6 +10,8 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.mythic_keystone_affix
|
12
12
|
class MythicKeystoneAffix < Wow::GenericDataEndpoint
|
13
|
+
setup 'keystone-affix', :static, CACHE_TRIMESTER
|
14
|
+
|
13
15
|
##
|
14
16
|
# Fetch media for one of the affixes listed by the {#index} using its *id*
|
15
17
|
#
|
@@ -21,15 +23,6 @@ module BlizzardApi
|
|
21
23
|
def media(id, **options)
|
22
24
|
api_request "#{base_url(:media)}/keystone-affix/#{id}", **default_options.merge(options)
|
23
25
|
end
|
24
|
-
|
25
|
-
protected
|
26
|
-
|
27
|
-
def endpoint_setup
|
28
|
-
@endpoint = 'keystone-affix'
|
29
|
-
@namespace = :static
|
30
|
-
@collection = 'affixes'
|
31
|
-
@ttl = CACHE_TRIMESTER
|
32
|
-
end
|
33
26
|
end
|
34
27
|
end
|
35
28
|
end
|
@@ -10,6 +10,8 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.pet
|
12
12
|
class Pet < Wow::GenericDataEndpoint
|
13
|
+
setup 'pet', :static, CACHE_TRIMESTER
|
14
|
+
|
13
15
|
##
|
14
16
|
# Fetch media for one of the pets listed by the {#index} using its *id*
|
15
17
|
#
|
@@ -55,15 +57,6 @@ module BlizzardApi
|
|
55
57
|
def ability_media(id, **options)
|
56
58
|
api_request "#{base_url(:media)}/pet-ability/#{id}", **default_options.merge(options)
|
57
59
|
end
|
58
|
-
|
59
|
-
protected
|
60
|
-
|
61
|
-
def endpoint_setup
|
62
|
-
@endpoint = 'pet'
|
63
|
-
@namespace = :static
|
64
|
-
@collection = 'pets'
|
65
|
-
@ttl = CACHE_TRIMESTER
|
66
|
-
end
|
67
60
|
end
|
68
61
|
end
|
69
62
|
end
|
@@ -10,6 +10,8 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.playable_class
|
12
12
|
class PlayableClass < Wow::GenericDataEndpoint
|
13
|
+
setup 'playable-class', :static, CACHE_TRIMESTER
|
14
|
+
|
13
15
|
##
|
14
16
|
# Returns the PvP talent slots data of a specific class
|
15
17
|
#
|
@@ -21,38 +23,6 @@ module BlizzardApi
|
|
21
23
|
api_request "#{endpoint_uri}/#{id}/pvp-talent-slots", **default_options.merge(options)
|
22
24
|
end
|
23
25
|
|
24
|
-
##
|
25
|
-
# @!macro complete
|
26
|
-
#
|
27
|
-
# @option options [Boolean] :classic If set to true, this method will call the classic version
|
28
|
-
# @option options [Boolean] :classic1x If set to true, this method will call the classic era version
|
29
|
-
def complete(**options)
|
30
|
-
index_data = index(**options)
|
31
|
-
[].tap do |classes|
|
32
|
-
index_data[:classes].each do |pclass|
|
33
|
-
class_id = %r{playable-class/([0-9]+)}.match(pclass[:key].to_s)[1]
|
34
|
-
class_data = get class_id, **options
|
35
|
-
classes.push class_data
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
##
|
41
|
-
# Return playable class data by its id
|
42
|
-
#
|
43
|
-
# @param id [Integer] Playable class id
|
44
|
-
#
|
45
|
-
# @!macro request_options
|
46
|
-
# @option options [Boolean] :classic If set to true, this method will call the classic version
|
47
|
-
# @option options [Boolean] :classic1x If set to true, this method will call the classic era version
|
48
|
-
#
|
49
|
-
# @!macro response
|
50
|
-
def get(id, **options)
|
51
|
-
data = api_request "#{endpoint_uri}/#{id}", **default_options.merge(options)
|
52
|
-
data[:icon] = get_class_icon data[:media], **options
|
53
|
-
data
|
54
|
-
end
|
55
|
-
|
56
26
|
##
|
57
27
|
# Fetch media for one of the playable classes listed by the {#index} using its *id*
|
58
28
|
#
|
@@ -64,22 +34,6 @@ module BlizzardApi
|
|
64
34
|
def media(id, **options)
|
65
35
|
api_request "#{base_url(:media)}/playable-class/#{id}", **default_options.merge(options)
|
66
36
|
end
|
67
|
-
|
68
|
-
protected
|
69
|
-
|
70
|
-
def endpoint_setup
|
71
|
-
@endpoint = 'playable-class'
|
72
|
-
@namespace = :static
|
73
|
-
@collection = 'classes'
|
74
|
-
@ttl = CACHE_TRIMESTER
|
75
|
-
end
|
76
|
-
|
77
|
-
def get_class_icon(media_url, **options)
|
78
|
-
return if options.include? :classic
|
79
|
-
|
80
|
-
media_data = request media_url[:key][:href], **options
|
81
|
-
%r{56/([a-z_]+).jpg}.match(media_data[:assets][0][:value].to_s)[1]
|
82
|
-
end
|
83
37
|
end
|
84
38
|
end
|
85
39
|
end
|
@@ -10,14 +10,7 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# race = BlizzardApi::Wow.playable_race
|
12
12
|
class PlayableRace < Wow::GenericDataEndpoint
|
13
|
-
|
14
|
-
|
15
|
-
def endpoint_setup
|
16
|
-
@endpoint = 'playable-race'
|
17
|
-
@namespace = :static
|
18
|
-
@collection = 'races'
|
19
|
-
@ttl = CACHE_TRIMESTER
|
20
|
-
end
|
13
|
+
setup 'playable-race', :static, CACHE_TRIMESTER
|
21
14
|
end
|
22
15
|
end
|
23
16
|
end
|
@@ -10,15 +10,7 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# spec = BlizzardApi::Wow.playable_specialization
|
12
12
|
class PlayableSpecialization < Wow::GenericDataEndpoint
|
13
|
-
|
14
|
-
# @!macro complete
|
15
|
-
def complete(**options)
|
16
|
-
index_data = index(**options)
|
17
|
-
{}.tap do |response_data|
|
18
|
-
response_data[:character_specializations] = character_data(index_data, options)
|
19
|
-
response_data[:pet_specializations] = pet_data(index_data, options)
|
20
|
-
end
|
21
|
-
end
|
13
|
+
setup 'playable-specialization', :static, CACHE_TRIMESTER
|
22
14
|
|
23
15
|
##
|
24
16
|
# Fetch media for one of the playable specializations listed by the {#index} using its *id*
|
@@ -32,15 +24,6 @@ module BlizzardApi
|
|
32
24
|
api_request "#{base_url(:media)}/playable-specialization/#{id}", **default_options.merge(options)
|
33
25
|
end
|
34
26
|
|
35
|
-
protected
|
36
|
-
|
37
|
-
def endpoint_setup
|
38
|
-
@endpoint = 'playable-specialization'
|
39
|
-
@namespace = :static
|
40
|
-
@collection = 'playable_specialization'
|
41
|
-
@ttl = CACHE_TRIMESTER
|
42
|
-
end
|
43
|
-
|
44
27
|
private
|
45
28
|
|
46
29
|
def character_data(index_data, options)
|
@@ -10,14 +10,7 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.power_type
|
12
12
|
class PowerType < Wow::GenericDataEndpoint
|
13
|
-
|
14
|
-
|
15
|
-
def endpoint_setup
|
16
|
-
@endpoint = 'power-type'
|
17
|
-
@namespace = :static
|
18
|
-
@collection = 'power_types'
|
19
|
-
@ttl = CACHE_TRIMESTER
|
20
|
-
end
|
13
|
+
setup 'power-type', :static, CACHE_TRIMESTER
|
21
14
|
end
|
22
15
|
end
|
23
16
|
end
|
@@ -10,6 +10,8 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.profession
|
12
12
|
class Profession < Wow::GenericDataEndpoint
|
13
|
+
setup 'profession', :static, CACHE_TRIMESTER
|
14
|
+
|
13
15
|
##
|
14
16
|
# Fetch media for a profession using its *id*
|
15
17
|
#
|
@@ -58,15 +60,6 @@ module BlizzardApi
|
|
58
60
|
def recipe_media(id, **options)
|
59
61
|
api_request "#{base_url(:media)}/recipe/#{id}", **default_options.merge(options)
|
60
62
|
end
|
61
|
-
|
62
|
-
protected
|
63
|
-
|
64
|
-
def endpoint_setup
|
65
|
-
@endpoint = 'profession'
|
66
|
-
@namespace = :static
|
67
|
-
@collection = 'professions'
|
68
|
-
@ttl = CACHE_TRIMESTER
|
69
|
-
end
|
70
63
|
end
|
71
64
|
end
|
72
65
|
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module BlizzardApi
|
4
|
+
module Wow
|
5
|
+
##
|
6
|
+
# This class allows access to World of Warcraft PvP seasons
|
7
|
+
#
|
8
|
+
# @see https://develop.battle.net/documentation/api-reference/world-of-warcraft-game-data-api
|
9
|
+
#
|
10
|
+
# You can get an instance of this class using the default region as follows:
|
11
|
+
# api_instance = BlizzardApi::Wow.pvp_season
|
12
|
+
class PvpRegion < Wow::GenericDataEndpoint
|
13
|
+
setup 'pvp-region', :dynamic, CACHE_TRIMESTER
|
14
|
+
|
15
|
+
##
|
16
|
+
# Returns a index of pvp seasons within the region
|
17
|
+
#
|
18
|
+
# @param [Integer] region_id Region ID
|
19
|
+
#
|
20
|
+
# @!macro request_options
|
21
|
+
# @option options [Boolean] :classic1x If set to true, this method will call the classic era version
|
22
|
+
#
|
23
|
+
# @!macro response
|
24
|
+
def seasons(region_id, **options)
|
25
|
+
api_request "#{endpoint_uri}/#{region_id}/pvp-season/index", **default_options.merge(options)
|
26
|
+
end
|
27
|
+
|
28
|
+
##
|
29
|
+
# Returns a index of pvp seasons within the region
|
30
|
+
#
|
31
|
+
# @param [Integer] region_id Region ID
|
32
|
+
# @param [Integer] season_id Season ID
|
33
|
+
#
|
34
|
+
# @!macro request_options
|
35
|
+
# @option options [Boolean] :classic1x If set to true, this method will call the classic era version
|
36
|
+
#
|
37
|
+
# @!macro response
|
38
|
+
def season(region_id, season_id, **options)
|
39
|
+
api_request "#{endpoint_uri}/#{region_id}/pvp-season/#{season_id}", **default_options.merge(options)
|
40
|
+
end
|
41
|
+
|
42
|
+
##
|
43
|
+
# Returns a index of pvp leaderboard for a season
|
44
|
+
#
|
45
|
+
# @param [Integer] region_id Region ID
|
46
|
+
# @param [Integer] season_id Season ID
|
47
|
+
#
|
48
|
+
# @!macro request_options
|
49
|
+
# @option options [Boolean] :classic1x If set to true, this method will call the classic era version
|
50
|
+
#
|
51
|
+
# @!macro response
|
52
|
+
def leaderboards(region_id, season_id, **options)
|
53
|
+
api_request "#{endpoint_uri}/#{region_id}/pvp-season/#{season_id}/pvp-leaderboard/index", **default_options.merge(options)
|
54
|
+
end
|
55
|
+
|
56
|
+
##
|
57
|
+
# Returns the leaderboard for a given season and bracket
|
58
|
+
#
|
59
|
+
# @param [Integer] region_id Region ID
|
60
|
+
# @param [Integer] season_id Season ID
|
61
|
+
# @param [String] brackets Brackets
|
62
|
+
#
|
63
|
+
# @!macro request_options
|
64
|
+
# @option options [Boolean] :classic1x If set to true, this method will call the classic era version
|
65
|
+
#
|
66
|
+
# @!macro response
|
67
|
+
def leaderboard(region_id, season_id, brackets, **options)
|
68
|
+
api_request "#{endpoint_uri}/#{region_id}/pvp-season/#{season_id}/pvp-leaderboard/#{brackets}", **default_options.merge(options)
|
69
|
+
end
|
70
|
+
|
71
|
+
##
|
72
|
+
# Returns a list of pvp rewards for a season
|
73
|
+
#
|
74
|
+
# @!macro request_options
|
75
|
+
#
|
76
|
+
# @!macro response
|
77
|
+
def rewards(region_id, season_id, **options)
|
78
|
+
api_request "#{endpoint_uri}/#{region_id}/pvp-season/#{season_id}/pvp-reward/index", **default_options.merge(options)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -10,9 +10,13 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.pvp_season
|
12
12
|
class PvpSeason < Wow::GenericDataEndpoint
|
13
|
+
setup 'pvp-season', :dynamic, CACHE_TRIMESTER
|
14
|
+
|
13
15
|
##
|
14
16
|
# Returns a index of pvp leaderboard for a season
|
15
17
|
#
|
18
|
+
# @param [Integer] season_id Season ID
|
19
|
+
#
|
16
20
|
# @!macro request_options
|
17
21
|
# @option options [Boolean] :classic1x If set to true, this method will call the classic era version
|
18
22
|
#
|
@@ -24,6 +28,9 @@ module BlizzardApi
|
|
24
28
|
##
|
25
29
|
# Returns the leaderboard for a given season and bracket
|
26
30
|
#
|
31
|
+
# @param [Integer] season_id Season ID
|
32
|
+
# @param [String] brackets Brackets
|
33
|
+
#
|
27
34
|
# @!macro request_options
|
28
35
|
# @option options [Boolean] :classic1x If set to true, this method will call the classic era version
|
29
36
|
#
|
@@ -41,15 +48,6 @@ module BlizzardApi
|
|
41
48
|
def rewards(season_id, **options)
|
42
49
|
api_request "#{endpoint_uri}/#{season_id}/pvp-reward/index", **default_options.merge(options)
|
43
50
|
end
|
44
|
-
|
45
|
-
protected
|
46
|
-
|
47
|
-
def endpoint_setup
|
48
|
-
@endpoint = 'pvp-season'
|
49
|
-
@namespace = :dynamic
|
50
|
-
@collection = 'power_types'
|
51
|
-
@ttl = CACHE_TRIMESTER
|
52
|
-
end
|
53
51
|
end
|
54
52
|
end
|
55
53
|
end
|
@@ -10,6 +10,8 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.pvp_tier
|
12
12
|
class PvpTier < Wow::GenericDataEndpoint
|
13
|
+
setup 'pvp-tier', :static, CACHE_TRIMESTER
|
14
|
+
|
13
15
|
##
|
14
16
|
# Returns media assets for a pvp tier
|
15
17
|
#
|
@@ -17,16 +19,7 @@ module BlizzardApi
|
|
17
19
|
#
|
18
20
|
# @!macro response
|
19
21
|
def tier_media(id, **options)
|
20
|
-
api_request "#{base_url(:media)}/#{
|
21
|
-
end
|
22
|
-
|
23
|
-
protected
|
24
|
-
|
25
|
-
def endpoint_setup
|
26
|
-
@endpoint = 'pvp-tier'
|
27
|
-
@namespace = :static
|
28
|
-
@collection = 'tiers'
|
29
|
-
@ttl = CACHE_TRIMESTER
|
22
|
+
api_request "#{base_url(:media)}/#{self.class.endpoint}/#{id}", **default_options.merge(options)
|
30
23
|
end
|
31
24
|
end
|
32
25
|
end
|
@@ -10,6 +10,8 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.quest
|
12
12
|
class Quest < Wow::GenericDataEndpoint
|
13
|
+
setup 'quest', :static, CACHE_TRIMESTER
|
14
|
+
|
13
15
|
##
|
14
16
|
# Return a list of quest categories
|
15
17
|
#
|
@@ -72,15 +74,6 @@ module BlizzardApi
|
|
72
74
|
def type(id, **options)
|
73
75
|
api_request "#{endpoint_uri}/type/#{id}", **default_options.merge(options)
|
74
76
|
end
|
75
|
-
|
76
|
-
protected
|
77
|
-
|
78
|
-
def endpoint_setup
|
79
|
-
@endpoint = 'quest'
|
80
|
-
@namespace = :static
|
81
|
-
@collection = 'quests'
|
82
|
-
@ttl = CACHE_TRIMESTER
|
83
|
-
end
|
84
77
|
end
|
85
78
|
end
|
86
79
|
end
|
@@ -12,14 +12,7 @@ module BlizzardApi
|
|
12
12
|
class Realm < Wow::GenericDataEndpoint
|
13
13
|
include BlizzardApi::Wow::Searchable
|
14
14
|
|
15
|
-
|
16
|
-
|
17
|
-
def endpoint_setup
|
18
|
-
@endpoint = 'realm'
|
19
|
-
@namespace = :dynamic
|
20
|
-
@collection = 'realms'
|
21
|
-
@ttl = CACHE_TRIMESTER
|
22
|
-
end
|
15
|
+
setup 'realm', :dynamic, CACHE_TRIMESTER
|
23
16
|
end
|
24
17
|
end
|
25
18
|
end
|
@@ -10,14 +10,7 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.region
|
12
12
|
class Region < Wow::GenericDataEndpoint
|
13
|
-
|
14
|
-
|
15
|
-
def endpoint_setup
|
16
|
-
@endpoint = 'region'
|
17
|
-
@namespace = :dynamic
|
18
|
-
@collection = 'regions'
|
19
|
-
@ttl = CACHE_TRIMESTER
|
20
|
-
end
|
13
|
+
setup 'region', :dynamic, CACHE_TRIMESTER
|
21
14
|
end
|
22
15
|
end
|
23
16
|
end
|
@@ -10,6 +10,8 @@ module BlizzardApi
|
|
10
10
|
# You can get an instance of this class using the default region as follows:
|
11
11
|
# api_instance = BlizzardApi::Wow.reputation
|
12
12
|
class Reputation < Wow::GenericDataEndpoint
|
13
|
+
setup 'reputation', :static, CACHE_TRIMESTER
|
14
|
+
|
13
15
|
##
|
14
16
|
# This method overrides the inherited default behavior to prevent high server load and fetch time
|
15
17
|
#
|
@@ -67,15 +69,6 @@ module BlizzardApi
|
|
67
69
|
def tier(id, **options)
|
68
70
|
api_request "#{endpoint_uri('tiers')}/#{id}", **default_options.merge(options)
|
69
71
|
end
|
70
|
-
|
71
|
-
protected
|
72
|
-
|
73
|
-
def endpoint_setup
|
74
|
-
@endpoint = 'reputation'
|
75
|
-
@namespace = :static
|
76
|
-
@collection = 'reputations'
|
77
|
-
@ttl = CACHE_TRIMESTER
|
78
|
-
end
|
79
72
|
end
|
80
73
|
end
|
81
74
|
end
|
@@ -12,6 +12,8 @@ module BlizzardApi
|
|
12
12
|
class Spell < Wow::GenericDataEndpoint
|
13
13
|
include BlizzardApi::Wow::Searchable
|
14
14
|
|
15
|
+
setup 'spell', :static, CACHE_TRIMESTER
|
16
|
+
|
15
17
|
##
|
16
18
|
# This method overrides the inherited default behavior to prevent high server load and fetch time
|
17
19
|
#
|
@@ -20,14 +22,6 @@ module BlizzardApi
|
|
20
22
|
raise BlizzardApi::ApiException, 'This endpoint does not have a index method'
|
21
23
|
end
|
22
24
|
|
23
|
-
##
|
24
|
-
# This method overrides the inherited default behavior to prevent high server load and fetch time
|
25
|
-
#
|
26
|
-
# @!macro response
|
27
|
-
def complete
|
28
|
-
raise BlizzardApi::ApiException, 'This endpoint does not have a complete method'
|
29
|
-
end
|
30
|
-
|
31
25
|
##
|
32
26
|
# Fetch media for a spell
|
33
27
|
#
|
@@ -39,15 +33,6 @@ module BlizzardApi
|
|
39
33
|
def display_media(id, **options)
|
40
34
|
api_request "#{base_url(:media)}/spell/#{id}", **default_options.merge(options)
|
41
35
|
end
|
42
|
-
|
43
|
-
protected
|
44
|
-
|
45
|
-
def endpoint_setup
|
46
|
-
@endpoint = 'spell'
|
47
|
-
@namespace = :static
|
48
|
-
@collection = 'spells'
|
49
|
-
@ttl = CACHE_TRIMESTER
|
50
|
-
end
|
51
36
|
end
|
52
37
|
end
|
53
38
|
end
|