blizzard_api 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9c949d92a0d0319778a898e3e42f3d96b4a6e2328735cea5e04be4793411fd7f
4
- data.tar.gz: 1878247e2dbe3f00dd97350c8335fb624100fa69d244c897a054812df2e7b295
3
+ metadata.gz: 8912dbf1d2428d658df1a48f5e24f4eda29a1bf40b6882851d899b35ebecd678
4
+ data.tar.gz: b97d376156394a7c529ab7ff42ec67227307141e9037ba015aaf9114636228ab
5
5
  SHA512:
6
- metadata.gz: 9f3d4741c338306be140799708a739b56e907b5f740697db53175a1147ca897cb2457008e41ece15d4173eeba16ebf7aa5c3bb6b0a16c6243c5efb00f0075bc7
7
- data.tar.gz: 48c7583dbc4a25200789f7ec4443670a9f0769f34ab035cf058fee3ae3a78b12234e95f2da476925bbd86621a8dde70ed57501a7c71c84969dbdb97de0bda80a
6
+ metadata.gz: 5592ee0340659d8c20e301b27f48b8f213b0b71df70b8024f5b8177ab89d22c1f1b080f5b55e22bb4ebe63c9c442cfe40c83ad4071b19e28ec92bc8cfedd15bc
7
+ data.tar.gz: fba6de77e9c6e60ed932dcdb53fecdc3a1003563f71681691b3015ab0af2dc03174ebe97e3f4b51db5f5af31d82a5f1f55d0fc3c1f125f1e89addda3405d2ec1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,8 @@
1
1
  Please view this file on the master branch, otherwise it may be outdated
2
2
 
3
+ **Version 0.2.3**
4
+ * Added new api endpoints listed here: https://us.battle.net/forums/en/bnet/topic/20772337044
5
+
3
6
  **Version 0.2.2**
4
7
  * Added new api endpoints listed here: https://us.battle.net/forums/en/bnet/topic/20771546990
5
8
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- blizzard_api (0.2.2)
4
+ blizzard_api (0.2.3)
5
5
  redis (~> 4.1, >= 4.1.0)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -177,7 +177,18 @@ Most **data** endpoints will have always 3 methods available `index`, `get` and
177
177
  - index
178
178
  - get :id
179
179
  - complete
180
-
180
+ * Blizzard::Wow::Title
181
+ - index
182
+ - get :id
183
+ * Blizzard::Wow::Item
184
+ - get :id
185
+ - item_set :id
186
+ - classes
187
+ - class :id
188
+ - subclass :class_id, :subclass_id
189
+ * Blizzard::Wow::AzeriteEssence
190
+ - index
191
+ - get :id
181
192
 
182
193
  * Blizzard::Wow::Auction
183
194
  - get :realm
@@ -195,9 +206,6 @@ Most **data** endpoints will have always 3 methods available `index`, `get` and
195
206
  - get :relam, :name, :fields
196
207
  - rewards
197
208
  - perks
198
- * Blizzard::Wow::Item
199
- - get :id
200
- - item_set :setId
201
209
  * Blizzard::Wow::PvP
202
210
  - get :bracket
203
211
  * Blizzard::Wow::Quest
@@ -2,5 +2,5 @@
2
2
 
3
3
  module BlizzardApi
4
4
  # Gem version
5
- VERSION = '0.2.2'
5
+ VERSION = '0.2.3'
6
6
  end
@@ -27,6 +27,9 @@ module BlizzardApi
27
27
  require_relative 'wow/game_data/region'
28
28
  require_relative 'wow/game_data/wow_token'
29
29
  require_relative 'wow/game_data/race'
30
+ require_relative 'wow/game_data/title'
31
+ require_relative 'wow/game_data/item'
32
+ require_relative 'wow/game_data/azerite_essence'
30
33
 
31
34
  ##
32
35
  # @return {Achievement}
@@ -148,12 +151,29 @@ module BlizzardApi
148
151
  BlizzardApi::Wow::Race.new
149
152
  end
150
153
 
154
+ ##
155
+ # @return {Title}
156
+ def self.title
157
+ BlizzardApi::Wow::Title.new
158
+ end
159
+
160
+ ##
161
+ # @return {Item}
162
+ def self.item
163
+ BlizzardApi::Wow::Item.new
164
+ end
165
+
166
+ ##
167
+ # @return {AzeriteEssence}
168
+ def self.azerite_essence
169
+ BlizzardApi::Wow::AzeriteEssence.new
170
+ end
171
+
151
172
  # Wow community api
152
173
  require_relative 'wow/community/auction'
153
174
  require_relative 'wow/community/boss'
154
175
  require_relative 'wow/community/challenge'
155
176
  require_relative 'wow/community/character'
156
- require_relative 'wow/community/item'
157
177
  require_relative 'wow/community/pvp'
158
178
  require_relative 'wow/community/quest'
159
179
  require_relative 'wow/community/recipe'
@@ -184,12 +204,6 @@ module BlizzardApi
184
204
  BlizzardApi::Wow::Character.new
185
205
  end
186
206
 
187
- ##
188
- # @return {Item}
189
- def self.item
190
- BlizzardApi::Wow::Item.new
191
- end
192
-
193
207
  ##
194
208
  # @return {PvP}
195
209
  def self.pvp
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BlizzardApi
4
+ module Wow
5
+ ##
6
+ # This class allows access to World of Warcraft azerite essences
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.azerite_essence
12
+ class AzeriteEssence < Wow::GenericDataEndpoint
13
+ protected
14
+
15
+ def endpoint_setup
16
+ @endpoint = 'azerite-essence'
17
+ @namespace = endpoint_namespace :static
18
+ @collection = 'azerite_essences'
19
+ @ttl = CACHE_TRIMESTER
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,104 @@
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/api-reference/world-of-warcraft-community-api
9
+ #
10
+ # You can get an instance of this class using the default region as follows:
11
+ # api_instance = BlizzardApi::Wow.item
12
+ class Item < Wow::GenericDataEndpoint
13
+ ##
14
+ # This method overrides the inherited default behavior to prevent high server load and fetch time
15
+ #
16
+ # @!macro response
17
+ def index
18
+ raise BlizzardApi::ApiException, 'This endpoint does not have a index method'
19
+ end
20
+
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
+ ##
30
+ # Return complete data of an item by id
31
+ #
32
+ # @param id [Integer] Item id
33
+ # @!macro request_options
34
+ # @option options [Boolean] :use_community_endpoint If set to true, this method will call the community endpoint
35
+ # instead of the data endpoint https://develop.battle.net/documentation/api-reference/world-of-warcraft-community-api
36
+ #
37
+ # @!macro response
38
+ def get(id, options = {})
39
+ return super id, options unless options.include? :use_community_endpoint
40
+
41
+ api_request "#{base_url(:community)}/item/#{id}", { ttl: CACHE_TRIMESTER }.merge(options)
42
+ end
43
+
44
+ ##
45
+ # Return complete data of an item set by id
46
+ #
47
+ # @param set_id [Integer] Item set id
48
+ # @!macro request_options
49
+ #
50
+ # @!macro response
51
+ def item_set(set_id, options = {})
52
+ api_request "#{base_url(:community)}/item/set/#{set_id}", { ttl: CACHE_TRIMESTER }.merge(options)
53
+ end
54
+
55
+ ##
56
+ # Return a list of item classes
57
+ #
58
+ # @!macro request_options
59
+ # @option options [Boolean] :use_community_endpoint If set to true, this method will call the community endpoint
60
+ # instead of the data endpoint https://develop.battle.net/documentation/api-reference/world-of-warcraft-community-api
61
+ #
62
+ # @!macro response
63
+ def classes(options = {})
64
+ if options.include? :use_community_endpoint
65
+ return api_request "#{base_url(:community)}/data/item/classes", { ttl: CACHE_TRIMESTER }.merge(options)
66
+ end
67
+
68
+ api_request "#{endpoint_uri('class')}/index", default_options.merge(options)
69
+ end
70
+
71
+ ##
72
+ # Return data about an item class
73
+ #
74
+ # @param id [Integer] Item class id
75
+ # @!macro request_options
76
+ #
77
+ # @!macro response
78
+ def class(id, options = {})
79
+ api_request "#{endpoint_uri('class')}/#{id}", default_options.merge(options)
80
+ end
81
+
82
+ ##
83
+ # Return all subclasses of a given class
84
+ #
85
+ # @param id [Integer] Item class id
86
+ # @param subclass_id [Integer] Item subclass id
87
+ # @!macro request_options
88
+ #
89
+ # @!macro response
90
+ def subclass(id, subclass_id, options = {})
91
+ api_request "#{endpoint_uri('class')}/#{id}/item-subclass/#{subclass_id}", default_options.merge(options)
92
+ end
93
+
94
+ protected
95
+
96
+ def endpoint_setup
97
+ @endpoint = 'item'
98
+ @namespace = endpoint_namespace :static
99
+ @collection = 'items'
100
+ @ttl = CACHE_TRIMESTER
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BlizzardApi
4
+ module Wow
5
+ ##
6
+ # This class allows access to World of Warcraft titles
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.title
12
+ class Title < Wow::GenericDataEndpoint
13
+ ##
14
+ # This method overrides the inherited default behavior to prevent high server load and fetch time
15
+ #
16
+ # @!macro response
17
+ def complete
18
+ raise BlizzardApi::ApiException, 'There are too many achievements to fetch complete data'
19
+ end
20
+
21
+ protected
22
+
23
+ def endpoint_setup
24
+ @endpoint = 'title'
25
+ @namespace = endpoint_namespace :static
26
+ @collection = 'titles'
27
+ @ttl = CACHE_TRIMESTER
28
+ end
29
+ end
30
+ end
31
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blizzard_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francis Schiavo
@@ -149,18 +149,19 @@ files:
149
149
  - lib/blizzard_api/wow/community/boss.rb
150
150
  - lib/blizzard_api/wow/community/challenge.rb
151
151
  - lib/blizzard_api/wow/community/character.rb
152
- - lib/blizzard_api/wow/community/item.rb
153
152
  - lib/blizzard_api/wow/community/pvp.rb
154
153
  - lib/blizzard_api/wow/community/quest.rb
155
154
  - lib/blizzard_api/wow/community/recipe.rb
156
155
  - lib/blizzard_api/wow/community/spell.rb
157
156
  - lib/blizzard_api/wow/community/zone.rb
158
157
  - lib/blizzard_api/wow/game_data/achievement.rb
158
+ - lib/blizzard_api/wow/game_data/azerite_essence.rb
159
159
  - lib/blizzard_api/wow/game_data/connected_realm.rb
160
160
  - lib/blizzard_api/wow/game_data/creature.rb
161
161
  - lib/blizzard_api/wow/game_data/generic_data_endpoint.rb
162
162
  - lib/blizzard_api/wow/game_data/guild.rb
163
163
  - lib/blizzard_api/wow/game_data/guild_crest.rb
164
+ - lib/blizzard_api/wow/game_data/item.rb
164
165
  - lib/blizzard_api/wow/game_data/mount.rb
165
166
  - lib/blizzard_api/wow/game_data/mythic_keystone.rb
166
167
  - lib/blizzard_api/wow/game_data/mythic_keystone_affix.rb
@@ -175,6 +176,7 @@ files:
175
176
  - lib/blizzard_api/wow/game_data/race.rb
176
177
  - lib/blizzard_api/wow/game_data/realm.rb
177
178
  - lib/blizzard_api/wow/game_data/region.rb
179
+ - lib/blizzard_api/wow/game_data/title.rb
178
180
  - lib/blizzard_api/wow/game_data/wow_token.rb
179
181
  - lib/blizzard_api/wow/profile/character_profile.rb
180
182
  - lib/blizzard_api/wow/request.rb
@@ -1,46 +0,0 @@
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/api-reference/world-of-warcraft-community-api
9
- #
10
- # You can get an instance of this class using the default region as follows:
11
- # api_instance = BlizzardApi::Wow.item
12
- class Item < Wow::Request
13
- ##
14
- # Return complete data of an item by id
15
- #
16
- # @param id [Integer] Item id
17
- # @!macro request_options
18
- #
19
- # @!macro response
20
- def get(id, options = {})
21
- api_request "#{base_url(:community)}/item/#{id}", { ttl: CACHE_TRIMESTER }.merge(options)
22
- end
23
-
24
- ##
25
- # Return complete data of an item set by id
26
- #
27
- # @param set_id [Integer] Item set id
28
- # @!macro request_options
29
- #
30
- # @!macro response
31
- def item_set(set_id, options = {})
32
- api_request "#{base_url(:community)}/item/set/#{set_id}", { ttl: CACHE_TRIMESTER }.merge(options)
33
- end
34
-
35
- ##
36
- # Return a list of item classes
37
- #
38
- # @!macro request_options
39
- #
40
- # @!macro response
41
- def classes(options = {})
42
- api_request "#{base_url(:community)}/data/item/classes", { ttl: CACHE_TRIMESTER }.merge(options)
43
- end
44
- end
45
- end
46
- end