class BlizzardApi::Diablo::GenericDataEndpoint

Generic endpoint to support most data requests with minor configurations

Public Class Methods

new(region = nil, mode = :regular) click to toggle source
Calls superclass method BlizzardApi::Diablo::Request::new
# File lib/blizzard_api/diablo/game_data/generic_data_endpoint.rb, line 7
def initialize(region = nil, mode = :regular)
  super region, mode
  endpoint_setup
  @ttl ||= CACHE_DAY
end

Public Instance Methods

get(id, **options) click to toggle source

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

@param [Integer] id One of the IDs returned by the {#index} @!macro request_options

@!macro response

# File lib/blizzard_api/diablo/game_data/generic_data_endpoint.rb, line 30
def get(id, **options)
  api_request "#{base_url(:game_data)}/#{@endpoint}/#{id}", **default_options.merge(options)
end
index(**options) click to toggle source

Get information about the resource

@!macro request_options

@!macro response

# File lib/blizzard_api/diablo/game_data/generic_data_endpoint.rb, line 19
def index(**options)
  api_request "#{base_url(:game_data)}/#{@endpoint}/", **default_options.merge(options)
end
leaderboard(id, leaderboard_id, **options) click to toggle source

Fetch leaderboard data for the current endpoint

@param [Integer] id One of the IDs returned by the {index} @param [Integer] leaderboard_id Leaderboard id @!macro request_options

@!macro response

# File lib/blizzard_api/diablo/game_data/generic_data_endpoint.rb, line 42
def leaderboard(id, leaderboard_id, **options)
  opts = default_options.merge(options)
  api_request "#{base_url(:game_data)}/#{@endpoint}/#{id}/leaderboard/#{leaderboard_id}", **opts
end

Protected Instance Methods

default_options() click to toggle source
# File lib/blizzard_api/diablo/game_data/generic_data_endpoint.rb, line 53
def default_options
  { ttl: @ttl }
end
endpoint_setup() click to toggle source
# File lib/blizzard_api/diablo/game_data/generic_data_endpoint.rb, line 49
def endpoint_setup
  raise NotImplementedError
end