blizzard_api 4.0.0 → 4.2.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 +13 -0
- data/Gemfile.lock +13 -11
- data/lib/blizzard_api/version.rb +1 -1
- data/lib/blizzard_api/wow/game_data/item.rb +1 -1
- data/lib/blizzard_api/wow/game_data/item_appearance.rb +68 -0
- data/lib/blizzard_api/wow/profile/account_profile.rb +12 -1
- data/lib/blizzard_api/wow/profile/character_profile.rb +14 -0
- data/lib/blizzard_api/wow.rb +8 -0
- data/lib/blizzard_api.rb +0 -1
- metadata +3 -9
- data/lib/blizzard_api/overwatch_league/community/matches.rb +0 -22
- data/lib/blizzard_api/overwatch_league/community/players.rb +0 -22
- data/lib/blizzard_api/overwatch_league/community/segments.rb +0 -22
- data/lib/blizzard_api/overwatch_league/community/summary.rb +0 -22
- data/lib/blizzard_api/overwatch_league/community/teams.rb +0 -22
- data/lib/blizzard_api/overwatch_league/request.rb +0 -15
- data/lib/blizzard_api/overwatch_league.rb +0 -50
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 25f4493d9dc72b6f70302dadcfb4679785684a62d29a532ea6cc8e3b0a73ad0e
|
4
|
+
data.tar.gz: '0298ac0da67ef8000f63f9f23d2ce79a6a5d4f853eb9863f720fb82720e238f3'
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e5cf53cc39f5e09877da0ff4b86a3c50a624c9d7ccf3accc5ef96851f0d0763f5f188e8c4e80dfb272f1a0c45b16b71f147a9a8664506488005bdb986c169c30
|
7
|
+
data.tar.gz: 29d93824b97b4f606822f6b1f9d7a904090e5ac993269afee2b3073aa135ad1062dbd8a94dd3b08c937af52993474869d27ce715ec9a2158640ce2dee638c346
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,18 @@
|
|
1
1
|
Please view this file on the master branch, otherwise it may be outdated
|
2
2
|
|
3
|
+
**Version 4.2.0**
|
4
|
+
|
5
|
+
Added new collections endpoints (https://us.forums.blizzard.com/en/blizzard/t/item-appearance-and-transmog-apis/51532)
|
6
|
+
|
7
|
+
**Version 4.1.0**
|
8
|
+
|
9
|
+
Removed the discontinued Overwatch League API
|
10
|
+
|
11
|
+
Updated all dependencies to latest version
|
12
|
+
|
13
|
+
Note: While this introduces a breaking change, I did not bump version to 5.x.x
|
14
|
+
since the Overwatch League API was already broken.
|
15
|
+
|
3
16
|
**Version 4.0.0**
|
4
17
|
|
5
18
|
**Warning**: This version introduces breaking changes to the way the gem handles the Redis connection.
|
data/Gemfile.lock
CHANGED
@@ -1,25 +1,26 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
blizzard_api (4.
|
4
|
+
blizzard_api (4.1.0)
|
5
5
|
redis (~> 4.1, >= 4.1.0)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
10
|
ast (2.4.2)
|
11
|
-
dotenv (3.1.
|
12
|
-
minitest (5.
|
13
|
-
parallel (1.
|
14
|
-
parser (3.3.
|
11
|
+
dotenv (3.1.2)
|
12
|
+
minitest (5.24.1)
|
13
|
+
parallel (1.26.1)
|
14
|
+
parser (3.3.4.2)
|
15
15
|
ast (~> 2.4.1)
|
16
16
|
racc
|
17
|
-
racc (1.
|
17
|
+
racc (1.8.1)
|
18
18
|
rainbow (3.1.1)
|
19
19
|
rake (13.2.1)
|
20
20
|
redis (4.8.1)
|
21
|
-
regexp_parser (2.9.
|
22
|
-
rexml (3.
|
21
|
+
regexp_parser (2.9.2)
|
22
|
+
rexml (3.3.4)
|
23
|
+
strscan
|
23
24
|
rubocop (0.93.1)
|
24
25
|
parallel (~> 1.10)
|
25
26
|
parser (>= 2.7.1.5)
|
@@ -29,11 +30,12 @@ GEM
|
|
29
30
|
rubocop-ast (>= 0.6.0)
|
30
31
|
ruby-progressbar (~> 1.7)
|
31
32
|
unicode-display_width (>= 1.4.0, < 2.0)
|
32
|
-
rubocop-ast (1.
|
33
|
-
parser (>= 3.3.0
|
33
|
+
rubocop-ast (1.32.0)
|
34
|
+
parser (>= 3.3.1.0)
|
34
35
|
rubocop-minitest (0.27.0)
|
35
36
|
rubocop (>= 0.90, < 2.0)
|
36
37
|
ruby-progressbar (1.13.0)
|
38
|
+
strscan (3.1.0)
|
37
39
|
unicode-display_width (1.8.0)
|
38
40
|
yard (0.9.36)
|
39
41
|
|
@@ -50,4 +52,4 @@ DEPENDENCIES
|
|
50
52
|
yard (~> 0.9.36)
|
51
53
|
|
52
54
|
BUNDLED WITH
|
53
|
-
2.
|
55
|
+
2.4.22
|
data/lib/blizzard_api/version.rb
CHANGED
@@ -0,0 +1,68 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module BlizzardApi
|
4
|
+
module Wow
|
5
|
+
##
|
6
|
+
# This class allows access to World of Warcraft item data
|
7
|
+
#
|
8
|
+
# @see https://develop.battle.net/documentation/world-of-warcraft/game-data-apis
|
9
|
+
#
|
10
|
+
# You can get an instance of this class using the default region as follows:
|
11
|
+
# api_instance = BlizzardApi::Wow.item_appearance
|
12
|
+
class ItemAppearance < Wow::GenericDataEndpoint
|
13
|
+
include BlizzardApi::Wow::Searchable
|
14
|
+
|
15
|
+
setup 'item-appearance', :static, CACHE_TRIMESTER
|
16
|
+
|
17
|
+
##
|
18
|
+
# This method overrides the inherited default behavior to prevent high server load and fetch time
|
19
|
+
#
|
20
|
+
# @!macro response
|
21
|
+
def index
|
22
|
+
raise BlizzardApi::ApiException, 'This endpoint does not have an index method'
|
23
|
+
end
|
24
|
+
|
25
|
+
##
|
26
|
+
# Return a list of item appearance sets
|
27
|
+
#
|
28
|
+
# @!macro request_options
|
29
|
+
#
|
30
|
+
# @!macro response
|
31
|
+
def sets(**options)
|
32
|
+
api_request "#{endpoint_uri}/set/index", **default_options.merge(options)
|
33
|
+
end
|
34
|
+
|
35
|
+
##
|
36
|
+
# Return data about an item appearance set
|
37
|
+
#
|
38
|
+
# @param id [Integer] Item appearance set id
|
39
|
+
# @!macro request_options
|
40
|
+
#
|
41
|
+
# @!macro response
|
42
|
+
def set(id, **options)
|
43
|
+
api_request "#{endpoint_uri}/set/#{id}", **default_options.merge(options)
|
44
|
+
end
|
45
|
+
|
46
|
+
##
|
47
|
+
# Return a list of item appearance slots
|
48
|
+
#
|
49
|
+
# @!macro request_options
|
50
|
+
#
|
51
|
+
# @!macro response
|
52
|
+
def slots(**options)
|
53
|
+
api_request "#{endpoint_uri}/slot/index", **default_options.merge(options)
|
54
|
+
end
|
55
|
+
|
56
|
+
##
|
57
|
+
# Return data about an item appearance slot
|
58
|
+
#
|
59
|
+
# @param type [Integer] Item appearance slot type
|
60
|
+
# @!macro request_options
|
61
|
+
#
|
62
|
+
# @!macro response
|
63
|
+
def slot(type, **options)
|
64
|
+
api_request "#{endpoint_uri}/slot/#{type}", **default_options.merge(options)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
@@ -38,9 +38,10 @@ module BlizzardApi
|
|
38
38
|
# @!macro request_options
|
39
39
|
#
|
40
40
|
# @!macro response
|
41
|
-
def
|
41
|
+
def collections(**options)
|
42
42
|
api_request "#{base_url(:user_profile)}/collections", **default_options.merge(options)
|
43
43
|
end
|
44
|
+
alias collection collections
|
44
45
|
|
45
46
|
##
|
46
47
|
# Returns the mount collection index for the account
|
@@ -82,6 +83,16 @@ module BlizzardApi
|
|
82
83
|
api_request "#{base_url(:user_profile)}/collections/pets", **default_options.merge(options)
|
83
84
|
end
|
84
85
|
|
86
|
+
##
|
87
|
+
# Returns the transmogs collection index for the account
|
88
|
+
#
|
89
|
+
# @!macro request_options
|
90
|
+
#
|
91
|
+
# @!macro response
|
92
|
+
def transmogs(**options)
|
93
|
+
api_request "#{base_url(:user_profile)}/collections/transmogs", **default_options.merge(options)
|
94
|
+
end
|
95
|
+
|
85
96
|
protected
|
86
97
|
|
87
98
|
def default_options
|
@@ -397,6 +397,20 @@ module BlizzardApi
|
|
397
397
|
character_request realm, character, 'titles', **options
|
398
398
|
end
|
399
399
|
|
400
|
+
##
|
401
|
+
# Return a character's transmogs
|
402
|
+
#
|
403
|
+
# @see https://develop.battle.net/documentation/api-reference/world-of-warcraft-profile-api
|
404
|
+
#
|
405
|
+
# @param realm [String] The character realm's slug
|
406
|
+
# @param character [String] The character name
|
407
|
+
# @!macro request_options
|
408
|
+
#
|
409
|
+
# @!macro response
|
410
|
+
def transmogs(realm, character, **options)
|
411
|
+
character_request realm, character, 'transmogs', **options
|
412
|
+
end
|
413
|
+
|
400
414
|
private
|
401
415
|
|
402
416
|
def default_options(user_token = nil)
|
data/lib/blizzard_api/wow.rb
CHANGED
@@ -25,6 +25,7 @@ module BlizzardApi
|
|
25
25
|
require_relative 'wow/game_data/guild_crest'
|
26
26
|
require_relative 'wow/game_data/heirloom'
|
27
27
|
require_relative 'wow/game_data/item'
|
28
|
+
require_relative 'wow/game_data/item_appearance'
|
28
29
|
require_relative 'wow/game_data/journal'
|
29
30
|
require_relative 'wow/game_data/media'
|
30
31
|
require_relative 'wow/game_data/modified_crafting'
|
@@ -116,6 +117,13 @@ module BlizzardApi
|
|
116
117
|
BlizzardApi::Wow::Item.new(**options)
|
117
118
|
end
|
118
119
|
|
120
|
+
##
|
121
|
+
# @!macro init_options
|
122
|
+
# @return {Item}
|
123
|
+
def self.item_appearance(**options)
|
124
|
+
BlizzardApi::Wow::ItemAppearance.new(**options)
|
125
|
+
end
|
126
|
+
|
119
127
|
##
|
120
128
|
# @!macro init_options
|
121
129
|
# @return {Journal}
|
data/lib/blizzard_api.rb
CHANGED
@@ -11,7 +11,6 @@ require_relative 'blizzard_api/wow'
|
|
11
11
|
require_relative 'blizzard_api/diablo'
|
12
12
|
require_relative 'blizzard_api/hearthstone'
|
13
13
|
require_relative 'blizzard_api/starcraft'
|
14
|
-
require_relative 'blizzard_api/overwatch_league'
|
15
14
|
|
16
15
|
# Blizzard namespace
|
17
16
|
module BlizzardApi
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blizzard_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Francis Schiavo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-08-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: redis
|
@@ -154,13 +154,6 @@ files:
|
|
154
154
|
- lib/blizzard_api/hearthstone/game_data/generic_data_endpoint.rb
|
155
155
|
- lib/blizzard_api/hearthstone/game_data/metadata.rb
|
156
156
|
- lib/blizzard_api/hearthstone/request.rb
|
157
|
-
- lib/blizzard_api/overwatch_league.rb
|
158
|
-
- lib/blizzard_api/overwatch_league/community/matches.rb
|
159
|
-
- lib/blizzard_api/overwatch_league/community/players.rb
|
160
|
-
- lib/blizzard_api/overwatch_league/community/segments.rb
|
161
|
-
- lib/blizzard_api/overwatch_league/community/summary.rb
|
162
|
-
- lib/blizzard_api/overwatch_league/community/teams.rb
|
163
|
-
- lib/blizzard_api/overwatch_league/request.rb
|
164
157
|
- lib/blizzard_api/request.rb
|
165
158
|
- lib/blizzard_api/starcraft.rb
|
166
159
|
- lib/blizzard_api/starcraft/community/account.rb
|
@@ -182,6 +175,7 @@ files:
|
|
182
175
|
- lib/blizzard_api/wow/game_data/guild_crest.rb
|
183
176
|
- lib/blizzard_api/wow/game_data/heirloom.rb
|
184
177
|
- lib/blizzard_api/wow/game_data/item.rb
|
178
|
+
- lib/blizzard_api/wow/game_data/item_appearance.rb
|
185
179
|
- lib/blizzard_api/wow/game_data/journal.rb
|
186
180
|
- lib/blizzard_api/wow/game_data/media.rb
|
187
181
|
- lib/blizzard_api/wow/game_data/modified_crafting.rb
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module BlizzardApi
|
4
|
-
module OverwatchLeague
|
5
|
-
##
|
6
|
-
# This class allows access to OWL2 match data
|
7
|
-
#
|
8
|
-
# @see https://develop.battle.net/documentation/owl/community-apis
|
9
|
-
#
|
10
|
-
# You can get an instance of this class using the default region as follows:
|
11
|
-
# api_instance = BlizzardApi::OverwatchLeague.matches
|
12
|
-
class Matches < OverwatchLeague::Request
|
13
|
-
##
|
14
|
-
# Returns match information
|
15
|
-
#
|
16
|
-
# @!macro request_options
|
17
|
-
def get(match_id, **options)
|
18
|
-
api_request "#{base_url(:community)}/v1/matches/#{match_id}", **{ ttl: CACHE_DAY }.merge(options)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module BlizzardApi
|
4
|
-
module OverwatchLeague
|
5
|
-
##
|
6
|
-
# This class allows access to OWL2 player data
|
7
|
-
#
|
8
|
-
# @see https://develop.battle.net/documentation/owl/community-apis
|
9
|
-
#
|
10
|
-
# You can get an instance of this class using the default region as follows:
|
11
|
-
# api_instance = BlizzardApi::OverwatchLeague.players
|
12
|
-
class Players < OverwatchLeague::Request
|
13
|
-
##
|
14
|
-
# Returns player information
|
15
|
-
#
|
16
|
-
# @!macro request_options
|
17
|
-
def get(player_id, **options)
|
18
|
-
api_request "#{base_url(:community)}/v1/players/#{player_id}", **{ ttl: CACHE_DAY }.merge(options)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module BlizzardApi
|
4
|
-
module OverwatchLeague
|
5
|
-
##
|
6
|
-
# This class allows access to OWL2 segment data
|
7
|
-
#
|
8
|
-
# @see https://develop.battle.net/documentation/owl/community-apis
|
9
|
-
#
|
10
|
-
# You can get an instance of this class using the default region as follows:
|
11
|
-
# api_instance = BlizzardApi::OverwatchLeague.segments
|
12
|
-
class Segments < OverwatchLeague::Request
|
13
|
-
##
|
14
|
-
# Returns segment information
|
15
|
-
#
|
16
|
-
# @!macro request_options
|
17
|
-
def get(segment_id, **options)
|
18
|
-
api_request "#{base_url(:community)}/v1/segments/#{segment_id}", **{ ttl: CACHE_DAY }.merge(options)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module BlizzardApi
|
4
|
-
module OverwatchLeague
|
5
|
-
##
|
6
|
-
# This class allows access to OWL2 summary data
|
7
|
-
#
|
8
|
-
# @see https://develop.battle.net/documentation/owl/community-apis
|
9
|
-
#
|
10
|
-
# You can get an instance of this class using the default region as follows:
|
11
|
-
# api_instance = BlizzardApi::OverwatchLeague.summary
|
12
|
-
class Summary < OverwatchLeague::Request
|
13
|
-
##
|
14
|
-
# Returns summary information
|
15
|
-
#
|
16
|
-
# @!macro request_options
|
17
|
-
def get(**options)
|
18
|
-
api_request "#{base_url(:community)}/v1/owl2", **{ ttl: CACHE_DAY }.merge(options)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module BlizzardApi
|
4
|
-
module OverwatchLeague
|
5
|
-
##
|
6
|
-
# This class allows access to OWL2 team data
|
7
|
-
#
|
8
|
-
# @see https://develop.battle.net/documentation/owl/community-apis
|
9
|
-
#
|
10
|
-
# You can get an instance of this class using the default region as follows:
|
11
|
-
# api_instance = BlizzardApi::OverwatchLeague.teams
|
12
|
-
class Teams < OverwatchLeague::Request
|
13
|
-
##
|
14
|
-
# Returns team information
|
15
|
-
#
|
16
|
-
# @!macro request_options
|
17
|
-
def get(team_id, **options)
|
18
|
-
api_request "#{base_url(:community)}/v1/teams/#{team_id}", **{ ttl: CACHE_DAY }.merge(options)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module BlizzardApi
|
4
|
-
module OverwatchLeague
|
5
|
-
# Overwatch League requests
|
6
|
-
class Request < BlizzardApi::Request
|
7
|
-
##
|
8
|
-
# @!macro init_options
|
9
|
-
def initialize(**options)
|
10
|
-
super(**options)
|
11
|
-
@game = 'owl'
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module BlizzardApi
|
4
|
-
# Overwatch League related classes
|
5
|
-
module OverwatchLeague
|
6
|
-
require_relative 'overwatch_league/request'
|
7
|
-
|
8
|
-
# Overwatch League community api
|
9
|
-
require_relative 'overwatch_league/community/summary'
|
10
|
-
require_relative 'overwatch_league/community/players'
|
11
|
-
require_relative 'overwatch_league/community/matches'
|
12
|
-
require_relative 'overwatch_league/community/segments'
|
13
|
-
require_relative 'overwatch_league/community/teams'
|
14
|
-
|
15
|
-
##
|
16
|
-
# @!macro init_options
|
17
|
-
# @return {Summary}
|
18
|
-
def self.summary(**options)
|
19
|
-
BlizzardApi::OverwatchLeague::Summary.new(**options)
|
20
|
-
end
|
21
|
-
|
22
|
-
##
|
23
|
-
# @!macro init_options
|
24
|
-
# @return {Players}
|
25
|
-
def self.players(**options)
|
26
|
-
BlizzardApi::OverwatchLeague::Players.new(**options)
|
27
|
-
end
|
28
|
-
|
29
|
-
##
|
30
|
-
# @!macro init_options
|
31
|
-
# @return {Matches}
|
32
|
-
def self.matches(**options)
|
33
|
-
BlizzardApi::OverwatchLeague::Matches.new(**options)
|
34
|
-
end
|
35
|
-
|
36
|
-
##
|
37
|
-
# @!macro init_options
|
38
|
-
# @return {Segments}
|
39
|
-
def self.segments(**options)
|
40
|
-
BlizzardApi::OverwatchLeague::Segments.new(**options)
|
41
|
-
end
|
42
|
-
|
43
|
-
##
|
44
|
-
# @!macro init_options
|
45
|
-
# @return {Teams}
|
46
|
-
def self.teams(**options)
|
47
|
-
BlizzardApi::OverwatchLeague::Teams.new(**options)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|