class RitoApi::Requests::Basic
Public Class Methods
new(api_key, region, cache_store)
click to toggle source
# File lib/rito_api/requests/basic.rb, line 9 def initialize(api_key, region, cache_store) # Initializing @api_key = api_key @region = region @cache_store = cache_store end
Public Instance Methods
base_url()
click to toggle source
# File lib/rito_api/requests/basic.rb, line 39 def base_url return "https://#{region_tag}.api.riotgames.com/" end
cached?(key)
click to toggle source
# File lib/rito_api/requests/basic.rb, line 17 def cached?(key) unless @cache_store.nil? @cache_store.key?(key) end end
clean_url(url)
click to toggle source
# File lib/rito_api/requests/basic.rb, line 47 def clean_url(url) return url.split('?')[0] end
leagueVer()
click to toggle source
# File lib/rito_api/requests/basic.rb, line 71 def leagueVer HTTParty.get('https://ddragon.leagueoflegends.com/api/versions.json').parsed_response[0] end
make_request(url, ttl)
click to toggle source
# File lib/rito_api/requests/basic.rb, line 51 def make_request(url, ttl) unless @cache_store.nil? return @cache_store.fetch(clean_url(url)){@cache_store.store(clean_url(url), symbolize(HTTParty.get(url).parsed_response), expires: ttl)} else return symbolize(HTTParty.get(url).parsed_response) end end
region_tag()
click to toggle source
# File lib/rito_api/requests/basic.rb, line 23 def region_tag region_tag = { :na => 'na1', :eune => 'eun1', :euw => 'euw1', :jp => 'jp1', :kr => 'kr', :lan => 'la1', :las => 'la2', :br => 'br1', :oce => 'oc1', :tr => 'tr1', :ru => 'ru', :pbe => 'pbe1' } return region_tag[@region.downcase.to_sym] end
request_url(pUrl)
click to toggle source
# File lib/rito_api/requests/basic.rb, line 43 def request_url(pUrl) return URI.encode("#{base_url}#{pUrl}?api_key=#{@api_key}") end
symbolize(object)
click to toggle source
# File lib/rito_api/requests/basic.rb, line 59 def symbolize(object) if object.is_a?Hash symbolized = Hash[object.map { |k, v| [k.to_sym, symbolize(v)] }] return symbolized elsif object.is_a?Array symbolized = [] object.each {|x| symbolized.push(Hash[x.map { |k, v| [k.to_sym, symbolize(v)] }])} return symbolized end return object end