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