class RitoApi::Requests::Summoner
Public Instance Methods
champion_mastery(ign, count = 0, ttl= @ttl)
click to toggle source
# File lib/rito_api/requests/summoner.rb, line 81 def champion_mastery(ign, count = 0, ttl= @ttl) unless ign.is_a?Numeric mastery = make_request(request_url("lol/champion-mastery/v3/champion-masteries/by-summoner/#{find(ign)[:id]}"), ttl) else mastery = make_request(request_url("lol/champion-mastery/v3/champion-masteries/by-summoner/#{ign}"), ttl) end topChamps=[] if count.to_i <= 0 or count.to_i >= mastery.size return mastery else (0...count.to_i).each{|x| topChamps.push(mastery[x])} return topChamps end end
find(ign, ttl = @ttl)
click to toggle source
# File lib/rito_api/requests/summoner.rb, line 8 def find(ign, ttl = @ttl) # Finds summoner using the summonerName. return make_request(request_url("lol/summoner/v3/summoners/by-name/#{ign}"), ttl) end
find_by_accountID(id, ttl = @ttl)
click to toggle source
# File lib/rito_api/requests/summoner.rb, line 16 def find_by_accountID(id, ttl = @ttl) # Finds summoner using accountID. [Don't use unless absolutely necessary] return make_request(request_url("lol/summoner/v3/summoners/by-account/#{id}"), ttl) end
find_by_summonerID(id, ttl = @ttl)
click to toggle source
# File lib/rito_api/requests/summoner.rb, line 12 def find_by_summonerID(id, ttl = @ttl) # Finds summoner using summonerID. [Not encouraged method to be used, unless under the hood.] return make_request(request_url("lol/summoner/v3/summoners/#{id}"), ttl) end
flex(ign, ttl = @ttl)
click to toggle source
# File lib/rito_api/requests/summoner.rb, line 38 def flex(ign, ttl = @ttl) rank = {} rank_info(ign,ttl).each do |r| if r[:queueType] == 'RANKED_FLEX_SR' rank = r end end return rank end
icon(iconId)
click to toggle source
# File lib/rito_api/requests/summoner.rb, line 76 def icon(iconId) icon = "https://ddragon.leagueoflegends.com/cdn/#{leagueVer}/img/profileicon/#{iconId.to_i}.png" return icon end
rank_info(ign, ttl = @ttl)
click to toggle source
# File lib/rito_api/requests/summoner.rb, line 20 def rank_info(ign, ttl = @ttl) unless ign.is_a?Numeric return make_request(request_url("lol/league/v3/positions/by-summoner/#{find(ign)[:id]}"), ttl) else return make_request(request_url("lol/league/v3/positions/by-summoner/#{ign}"), ttl) end end
recent_matches(ign, count = 20, ttl = @ttl)
click to toggle source
# File lib/rito_api/requests/summoner.rb, line 58 def recent_matches(ign, count = 20, ttl = @ttl) return make_request("https://na1.api.riotgames.com/lol/match/v3/matchlists/by-account/#{find(ign)[:accountId]}?endIndex=#{count}&api_key=#{@api_key}", ttl) end
solo(ign, ttl = @ttl)
click to toggle source
# File lib/rito_api/requests/summoner.rb, line 28 def solo(ign, ttl = @ttl) rank = {} rank_info(ign,ttl).each do |r| if r[:queueType] == 'RANKED_SOLO_5x5' rank = r end end return rank end
top_positions(ign, ttl = @ttl)
click to toggle source
# File lib/rito_api/requests/summoner.rb, line 62 def top_positions(ign, ttl = @ttl) positions=[] recent_matches(ign, ttl)[:matches].each do |x| if x[:lane] == 'BOTTOM' positions.push(x[:role]) else positions.push(x[:lane]) end end positions = Hash[positions.group_by(&:itself).map {|k,v| [k, v.size] }] return (positions.sort_by{|k,v|v}.reverse.map{|k,v| k}).values_at(0,1) end
tt(ign, ttl = @ttl)
click to toggle source
# File lib/rito_api/requests/summoner.rb, line 48 def tt(ign, ttl = @ttl) rank = {} rank_info(ign,ttl).each do |r| if r[:queueType] == 'RANKED_FLEX_TT' rank = r end end return rank end