Class: RitoApi::Requests::Basic
- Inherits:
-
Object
- Object
- RitoApi::Requests::Basic
show all
- Defined in:
- lib/rito_api/requests/basic.rb
Overview
Every other request class inherits from this class.
Instance Method Summary
collapse
Constructor Details
#initialize(api_key, region, cache_store) ⇒ Basic
9
10
11
12
13
14
|
# File 'lib/rito_api/requests/basic.rb', line 9
def initialize(api_key, region, cache_store) @api_key = api_key
@region = region
@cache_store = cache_store
end
|
Instance Method Details
#base_url ⇒ Object
39
40
41
|
# File 'lib/rito_api/requests/basic.rb', line 39
def base_url
return "https://#{region_tag}.api.riotgames.com/"
end
|
#cached?(key) ⇒ Boolean
17
18
19
20
21
|
# 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) ⇒ Object
47
48
49
|
# File 'lib/rito_api/requests/basic.rb', line 47
def clean_url(url)
return url.split('?')[0]
end
|
#leagueVer ⇒ Object
71
72
73
|
# 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) ⇒ Object
51
52
53
54
55
56
57
|
# 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 ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# 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) ⇒ Object
43
44
45
|
# 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) ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
|
# 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
|