blizzard_api 0.3.0 → 0.3.1

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: 1d9e981de12146c8fa8c57320363113050ff5415e7b6ae41422ec945f113b560
4
- data.tar.gz: 8f262b1cc6376a60f1dc8705a49b6dd0dc2b6ce295e24b563a269ce55a24aaf4
3
+ metadata.gz: 45f2875f44a7d4af854565cd63f33286da88a5d0be8ef48bdda7ad3afa967787
4
+ data.tar.gz: 561caa05b1ce6d7d4ffcd041e63ffa865b136fc6c556c32b6423eff08c48440d
5
5
  SHA512:
6
- metadata.gz: 3eb0e63dea5d778a83264ac54b45acfa664e13ce695495e91238b98e169c8e18c9ab69f72cb12a2a25aad5c633c788a66ad8843e721a7a51fec63c013a144cbc
7
- data.tar.gz: a952007d42101fedaea6f22cc1ed0e148bec4fc5f890803121e27c178c4563c13414760d8910e627476e2e30c650aa2eb257421ed555a71fa6704946f63f9c6e
6
+ metadata.gz: 25c9fdc5b2263f7e556c494db66d15b56574ddd9a05694236d90ff25ed6edcf9702cdd8f83dd5977d3f6e4c67e2f0288e0eeb80e6c0f944e8a09fef51ae55662
7
+ data.tar.gz: b80581204677d04b6cde838f9b9ca348787ffa2fb2d15706a4f43c86911eaf06e67d3b6c7a2806aa266dda71a9405c09db197239f10ece171e8c47e0da923b21
@@ -1,5 +1,14 @@
1
1
  Please view this file on the master branch, otherwise it may be outdated
2
2
 
3
+ **Version 0.3.1**
4
+
5
+ https://us.forums.blizzard.com/en/blizzard/t/hearthstone-api-updates/2978
6
+
7
+ Hearthstone updates:
8
+
9
+ * Added the new Cardback endpoint
10
+ * Card endpoint now supports the new `gameMode` search option
11
+
3
12
  **Version 0.3.0**
4
13
 
5
14
  https://us.forums.blizzard.com/en/blizzard/t/starcraft-ii-community-api-update/2652
@@ -36,4 +36,4 @@ DEPENDENCIES
36
36
  rubocop (~> 0.61)
37
37
 
38
38
  BUNDLED WITH
39
- 1.17.3
39
+ 2.1.2
@@ -8,6 +8,7 @@ module BlizzardApi
8
8
 
9
9
  # Hearthstone data api
10
10
  require_relative 'hearthstone/game_data/card'
11
+ require_relative 'hearthstone/game_data/back'
11
12
  require_relative 'hearthstone/game_data/deck'
12
13
  require_relative 'hearthstone/game_data/metadata'
13
14
 
@@ -17,6 +18,12 @@ module BlizzardApi
17
18
  BlizzardApi::Hearthstone::Card.new
18
19
  end
19
20
 
21
+ ##
22
+ # @return {Back}
23
+ def self.back
24
+ BlizzardApi::Hearthstone::Back.new
25
+ end
26
+
20
27
  ##
21
28
  # @return {Deck}
22
29
  def self.deck
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module BlizzardApi
4
+ module Hearthstone
5
+ ##
6
+ # This class allows access to Hearthstone card data
7
+ #
8
+ # @see https://develop.battle.net/documentation/api-reference/hearthstone-game-data-api
9
+ # @see https://develop.battle.net/documentation/hearthstone/guides/card-backs
10
+ #
11
+ # You can get an instance of this class using the default region as follows:
12
+ # api_instance = BlizzardApi::Hearthstone.card
13
+ class Back < Hearthstone::GenericDataEndpoint
14
+ # Valid options for card search
15
+ VALID_SEARCH_OPTIONS = %i[
16
+ cardBackCategory
17
+ textFilter
18
+ sort
19
+ order
20
+ ].freeze
21
+
22
+ ##
23
+ # Returns an up-to-date list of all card backs matching the search criteria. For more information about the
24
+ # search parameters, see the Card Backs Guide.
25
+ #
26
+ # @param search_options [Hash] Search options accepted by the endpoint
27
+ # @option search_options [String] :cardBackCategory A category of the card back. The category must match a valid category.
28
+ # @option search_options [String] :textFilter A text string used to filter cards.
29
+ # You must include a locale along with the textFilter parameter.
30
+ # @option search_options [String] :sort The field used to sort the results. Valid value include name.
31
+ # Results are sorted by date (desc) by default.
32
+ # @option search_options [String] :order The order in which to sort the results.
33
+ # Valid values are asc or desc. The default value is asc.
34
+ # @!macro request_options
35
+ # @option options [Boolean] :validate_fields If set to true, this method will throw an exception if nay search
36
+ # option is invalid
37
+ #
38
+ # @!macro response
39
+ def search(search_options = {}, options = {})
40
+ validate_search_options search_options if options.include? :validate_fields
41
+
42
+ api_request "#{base_url(:community)}/cardbacks", default_options.merge(options).merge(search_options)
43
+ end
44
+
45
+ protected
46
+
47
+ def validate_search_options(search_options)
48
+ search_options.each do |field|
49
+ raise ArgumentError, "Unrecognized search option #{field}" unless VALID_SEARCH_OPTIONS.include? field
50
+ end
51
+ end
52
+
53
+ def endpoint_setup
54
+ @endpoint = 'cardbacks'
55
+ @ttl = CACHE_TRIMESTER
56
+ end
57
+ end
58
+ end
59
+ end
@@ -6,6 +6,7 @@ module BlizzardApi
6
6
  # This class allows access to Hearthstone card data
7
7
  #
8
8
  # @see https://develop.battle.net/documentation/api-reference/hearthstone-game-data-api
9
+ # @see https://develop.battle.net/documentation/hearthstone/guides/card-search
9
10
  #
10
11
  # You can get an instance of this class using the default region as follows:
11
12
  # api_instance = BlizzardApi::Hearthstone.card
@@ -23,6 +24,7 @@ module BlizzardApi
23
24
  minionType
24
25
  keyword
25
26
  textFilter
27
+ gameMode
26
28
  page
27
29
  pageSize
28
30
  sort
@@ -55,6 +57,8 @@ module BlizzardApi
55
57
  # and so on). This value must match the keyword slugs found in metadata.
56
58
  # @option search_options [String] :textFilter A text string used to filter cards.
57
59
  # You must include a locale along with the textFilter parameter.
60
+ # @option search_options [String] :gameMode A recognized game mode (for example, battlegrounds or constructed).
61
+ # The default value is constructed. See the Game Modes Guide for more information.
58
62
  # @option search_options [Integer] :page A page number.
59
63
  # @option search_options [Integer] :pageSize The number of results to choose per page.
60
64
  # A value will be selected automatically if you do not supply a pageSize or if the pageSize is higher than the
@@ -74,6 +78,22 @@ module BlizzardApi
74
78
  api_request "#{base_url(:community)}/cards", default_options.merge(options).merge(search_options)
75
79
  end
76
80
 
81
+ ##
82
+ # Returns the card with an ID or slug that matches the one you specify. For more information, see the Card Search Guide.
83
+ #
84
+ # @see https://develop.battle.net/documentation/hearthstone/guides/card-search
85
+ # @see https://develop.battle.net/documentation/hearthstone/guides/game-modes
86
+ #
87
+ # @param id_or_slug [String] Card ID or slug
88
+ # @param game_mode [String] A recognized game mode (for example, battlegrounds or constructed).
89
+ # The default value is constructed. See the Game Modes Guide for more information.
90
+ # @!macro request_options
91
+ #
92
+ # @!macro response
93
+ def get(id_or_slug, game_mode = 'constructed', options = {})
94
+ super id_or_slug, { gameMode: game_mode }.merge(options)
95
+ end
96
+
77
97
  protected
78
98
 
79
99
  def validate_search_options(search_options)
@@ -6,6 +6,7 @@ module BlizzardApi
6
6
  # This class allows access to Hearthstone deck data
7
7
  #
8
8
  # @see https://develop.battle.net/documentation/api-reference/hearthstone-game-data-api
9
+ # @see https://develop.battle.net/documentation/hearthstone/guides/decks
9
10
  #
10
11
  # You can get an instance of this class using the default region as follows:
11
12
  # api_instance = BlizzardApi::Hearthstone.deck
@@ -27,7 +27,7 @@ module BlizzardApi
27
27
  ##
28
28
  # Fetch all possible data for one of items listed by the {#index} using its *id*
29
29
  #
30
- # @param [Integer] id One of the IDs returned by the {#index}
30
+ # @param [Integer|String] id One of the IDs returned by the {#index}
31
31
  # @!macro request_options
32
32
  #
33
33
  # @!macro response
@@ -6,6 +6,7 @@ module BlizzardApi
6
6
  # This class allows access to Hearthstone metadata data
7
7
  #
8
8
  # @see https://develop.battle.net/documentation/api-reference/hearthstone-game-data-api
9
+ # https://develop.battle.net/documentation/hearthstone/guides/metadata
9
10
  #
10
11
  # You can get an instance of this class using the default region as follows:
11
12
  # api_instance = BlizzardApi::Hearthstone.metadata
@@ -2,5 +2,5 @@
2
2
 
3
3
  module BlizzardApi
4
4
  # Gem version
5
- VERSION = '0.3.0'
5
+ VERSION = '0.3.1'
6
6
  end
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: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francis Schiavo
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-07 00:00:00.000000000 Z
11
+ date: 2020-01-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -108,6 +108,7 @@ files:
108
108
  - lib/blizzard_api/diablo/request.rb
109
109
  - lib/blizzard_api/exception.rb
110
110
  - lib/blizzard_api/hearthstone.rb
111
+ - lib/blizzard_api/hearthstone/game_data/back.rb
111
112
  - lib/blizzard_api/hearthstone/game_data/card.rb
112
113
  - lib/blizzard_api/hearthstone/game_data/deck.rb
113
114
  - lib/blizzard_api/hearthstone/game_data/generic_data_endpoint.rb