class BN::API::Base
The base class for API
requesters.
Public Class Methods
new(attributes={})
click to toggle source
Calls superclass method
BN::Helpers::HasAttributes::new
# File lib/bn/api/base.rb, line 13 def initialize(attributes={}) self.region = :us super raise Error::API::InvalidKey if @key.nil? end
Protected Instance Methods
get(url, query={})
click to toggle source
Send an HTTP GET request.
@param [#to_s] url @param [#to_h] query @return [HTTPI::Response]
# File lib/bn/api/base.rb, line 34 def get(url, query={}) url = url.to_s.gsub(%r{^/}, "") query = query.to_h request = HTTPI::Request.new request.url = "#{@region[:host]}/#{url}" request.query = { apikey: @key, locale: @locale }.merge(query) HTTPI.get(request) end
sanitize_battle_tag(value)
click to toggle source
# File lib/bn/api/base.rb, line 73 def sanitize_battle_tag(value) value.to_s.delete(" ").gsub(/#/, "-") end
validate_and_convert_region(region_key)
click to toggle source
# File lib/bn/api/base.rb, line 53 def validate_and_convert_region(region_key) region_key = region_key.to_sym raise Error::API::InvalidRegion unless BN::API::REGIONS.keys.include?(region_key) region = REGIONS[region_key] @locale = region[:locales].first region end
validate_key(value)
click to toggle source
# File lib/bn/api/base.rb, line 45 def validate_key(value) value = value.to_s.delete(" ") raise Error::API::InvalidKey if value.empty? value end
validate_locale(locale)
click to toggle source
# File lib/bn/api/base.rb, line 64 def validate_locale(locale) locale = locale.to_s.strip locale = @region[:locales].first if locale.empty? raise Error::API::InvalidLocale, region: @region unless @region[:locales].include?(locale) locale end