Class: BlizzardApi::Hearthstone::Card

Inherits:
GenericDataEndpoint show all
Defined in:
lib/blizzard_api/hearthstone/game_data/card.rb

Overview

This class allows access to Hearthstone card data

You can get an instance of this class using the default region as follows:

api_instance = BlizzardApi::Hearthstone.card

Constant Summary collapse

VALID_SEARCH_OPTIONS =

Valid options for card search

%i[
  set
  class
  manaCost
  attack
  health
  collectible
  rarity
  type
  minionType
  keyword
  textFilter
  gameMode
  page
  pageSize
  sort
  order
].freeze

Constants inherited from Request

Request::CACHE_DAY, Request::CACHE_HOUR, Request::CACHE_TRIMESTER

Constants included from ApiStandards

ApiStandards::BASE_URLS

Instance Attribute Summary

Attributes inherited from Request

#mode, #region

Instance Method Summary collapse

Methods inherited from GenericDataEndpoint

#initialize

Methods inherited from Request

#initialize

Methods inherited from Request

#initialize

Constructor Details

This class inherits a constructor from BlizzardApi::Hearthstone::GenericDataEndpoint

Instance Method Details

#get(id_or_slug, game_mode = 'constructed', **options) ⇒ Hash

Returns the card with an ID or slug that matches the one you specify. For more information, see the Card Search Guide.

in the configuration module

Parameters:

  • id_or_slug (String)

    Card ID or slug

  • game_mode (String) (defaults to: 'constructed')

    A recognized game mode (for example, battlegrounds or constructed). The default value is constructed. See the Game Modes Guide for more information.

  • options (Hash)

    You can specify some options

Options Hash (**options):

  • :locale (String)

    Overrides the default locale for a single call

  • :namespace (String)

    Overrides the default namespace for a single call

  • :access_token (String)

    Overrides the access_token for a single call

  • :ignore_cache (Boolean)

    If set to true the request will not use the cache

  • :ttl (Integer)

    Override the default time (in seconds) a request should be cached

  • :since (DateTime)

    Adds the If-modified-since headers. Will always ignore cache when set.

Returns:

  • (Hash)

    API Response. The actual type of the returned object depends on the format option

See Also:



93
94
95
# File 'lib/blizzard_api/hearthstone/game_data/card.rb', line 93

def get(id_or_slug, game_mode = 'constructed', **options)
  super id_or_slug, **{ gameMode: game_mode }.merge(options)
end

#search(search_options = {}, **options) ⇒ Hash

Fetch all possible data for one of the items listed by the #index using its id

in the configuration module

Parameters:

  • search_options (Hash) (defaults to: {})

    Search options accepted by the endpoint @option search_options [String] :set The slug of the set the card belongs to.

    If you do not supply a value cards from all sets will be returned.
    

    @option search_options [String] :class The slug of the card’s class. @option search_options [Integer] :manaCost The mana cost required to play the card.

    You can include multiple values in a comma-separated list of numeric values.
    

    @option search_options [Integer] :attack The attack power of the minion or weapon.

    You can include multiple values in a comma-separated list of numeric values.
    

    @option search_options [Integer] :health The health of a minion.

    You can include multiple values in a comma-separated list of numeric values.
    

    @option search_options [Float] :collectible Whether a card is collectible.

    A value of 1 indicates that collectible cards should be returned; 0 indicates uncollectible cards.
    To return all cards, use a value of '0,1'.
    

    @option search_options [String] :rarity The rarity of a card.

    This value must match the rarity slugs found in metadata.
    

    @option search_options [String] :type The type of card (for example, minion, spell, and so on).

    This value must match the type slugs found in metadata.
    

    @option search_options [String] :minionType The type of minion card (for example, beast, murloc, dragon, and

    so on). This value must match the minion type slugs found in metadata.
    

    @option search_options [String] :keyword A required keyword on the card (for example, battlecry, deathrattle,

    and so on). This value must match the keyword slugs found in metadata.
    

    @option search_options [String] :textFilter A text string used to filter cards.

    You must include a locale along with the textFilter parameter.
    

    @option search_options [String] :gameMode A recognized game mode (for example, battlegrounds or constructed).

    The default value is constructed. See the Game Modes Guide for more information.
    

    @option search_options [Integer] :page A page number. @option search_options [Integer] :pageSize The number of results to choose per page.

    A value will be selected automatically if you do not supply a pageSize or if the pageSize is higher than the
    maximum allowed. @option search_options [String] :sort The field used to sort the results.
    Valid values include manaCost, attack, health, and name. Results are sorted by manaCost by default.
    Cards will also be sorted by class automatically in most cases.
    

    @option search_options [String] :order The order in which to sort the results.

    Valid values are asc or desc. The default value is asc.
    
  • options (Hash)

    You can specify some options

Options Hash (**options):

  • :locale (String)

    Overrides the default locale for a single call

  • :namespace (String)

    Overrides the default namespace for a single call

  • :access_token (String)

    Overrides the access_token for a single call

  • :ignore_cache (Boolean)

    If set to true the request will not use the cache

  • :ttl (Integer)

    Override the default time (in seconds) a request should be cached

  • :since (DateTime)

    Adds the If-modified-since headers. Will always ignore cache when set.

  • :validate_fields (Boolean)

    If set to true, this method will throw an exception if nay search option is invalid

Returns:

  • (Hash)

    API Response. The actual type of the returned object depends on the format option



75
76
77
78
79
# File 'lib/blizzard_api/hearthstone/game_data/card.rb', line 75

def search(search_options = {}, **options)
  validate_search_options search_options if options.include? :validate_fields

  api_request "#{base_url(:community)}/cards", **default_options.merge(options).merge(search_options)
end