Class: RubyGg::Summoner
- Inherits:
-
Object
- Object
- RubyGg::Summoner
- Defined in:
- lib/ruby_gg/summoner.rb
Instance Attribute Summary collapse
-
#profile_url ⇒ Object
readonly
Returns the value of attribute profile_url.
-
#rank_url ⇒ Object
readonly
Returns the value of attribute rank_url.
Instance Method Summary collapse
- #champion_mastery(id, count = 0) ⇒ Object
- #find(name) ⇒ Object
- #get_flex(id) ⇒ Object
- #get_solo(id) ⇒ Object
- #get_tt(id) ⇒ Object
- #icon(iconId) ⇒ Object
-
#initialize(api_key, region) ⇒ Summoner
constructor
A new instance of Summoner.
- #rank_info(id) ⇒ Object
Constructor Details
#initialize(api_key, region) ⇒ Summoner
Returns a new instance of Summoner.
9 10 11 12 13 14 15 16 17 |
# File 'lib/ruby_gg/summoner.rb', line 9 def initialize(api_key, region) @api_key = api_key @region = region @base_url = "https://#{@region}.api.riotgames.com" @rank_url = '/lol/league/v3/positions/by-summoner/' @profile_url = '/lol/summoner/v3/summoners/' @top_champions = '/lol/champion-mastery/v3/champion-masteries/by-summoner/' @leagueVer = HTTParty.get('https://ddragon.leagueoflegends.com/api/versions.json').parsed_response[0] end |
Instance Attribute Details
#profile_url ⇒ Object (readonly)
Returns the value of attribute profile_url.
7 8 9 |
# File 'lib/ruby_gg/summoner.rb', line 7 def profile_url @profile_url end |
#rank_url ⇒ Object (readonly)
Returns the value of attribute rank_url.
6 7 8 |
# File 'lib/ruby_gg/summoner.rb', line 6 def rank_url @rank_url end |
Instance Method Details
#champion_mastery(id, count = 0) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/ruby_gg/summoner.rb', line 47 def champion_mastery(id, count = 0) mastery = HTTParty.get("#{@base_url}#{@top_champions}#{id.to_i}?api_key=#{@api_key}").parsed_response topChamps = [] if not count.to_i <= 0 or mastery.size == count.to_i (0...count.to_i).each {|x| topChamps.push(mastery[x])} return topChamps else return mastery end end |
#find(name) ⇒ Object
20 21 22 23 24 25 |
# File 'lib/ruby_gg/summoner.rb', line 20 def find(name) userPayload = HTTParty.get(URI.encode("#{@base_url}#{@profile_url}by-name/#{name}?api_key=#{@api_key}")).parsed_response user = {} userPayload.each{|k,v| user[k.to_sym] = v} return user end |
#get_flex(id) ⇒ Object
71 72 73 74 75 76 77 78 79 80 |
# File 'lib/ruby_gg/summoner.rb', line 71 def get_flex(id) rank_payload = HTTParty.get("#{@base_url}#{@rank_url}#{id.to_i}?api_key=#{@api_key}").parsed_response flex = {} @flex = nil rank_payload.each{|x| @flex = rank_payload.index(x) if x['queueType'].eql?'RANKED_FLEX_SR'} if not @flex.nil? (rank_payload[@flex]).each {|k,v| flex[k.to_sym] = v if not "queueType".eql?k or "playerOrTeamName".eql?k or "playerOrTeamId".eql?k} end return flex end |
#get_solo(id) ⇒ Object
60 61 62 63 64 65 66 67 68 69 |
# File 'lib/ruby_gg/summoner.rb', line 60 def get_solo(id) rankPayload = HTTParty.get("#{@base_url}#{@rank_url}#{id.to_i}?api_key=#{@api_key}").parsed_response solo = {} @solo = nil rankPayload.each{|x| @solo = rankPayload.index(x) if x['queueType'].eql?'RANKED_SOLO_5x5'} if not @solo.nil? (rankPayload[@solo]).each {|k,v| solo[k.to_sym] = v if not "queueType".eql?k or "playerOrTeamName".eql?k or "playerOrTeamId".eql?k} end return solo end |
#get_tt(id) ⇒ Object
82 83 84 85 86 87 88 89 90 91 |
# File 'lib/ruby_gg/summoner.rb', line 82 def get_tt(id) rankPayload = HTTParty.get("#{@base_url}#{@rank_url}#{id.to_i}?api_key=#{@api_key}").parsed_response tt = {} @tt = nil rankPayload.each{|x| @tt = rankPayload.index(x) if x['queueType'].eql?'RANKED_TT_SR'} if not @tt.nil? (rankPayload[@tt]).each {|k,v| tt[k.to_sym] = v if not "queueType".eql?k or "playerOrTeamName".eql?k or "playerOrTeamId".eql?k} end return tt end |
#icon(iconId) ⇒ Object
42 43 44 45 |
# File 'lib/ruby_gg/summoner.rb', line 42 def icon(iconId) icon = "https://ddragon.leagueoflegends.com/cdn/#{@leagueVer}/img/profileicon/#{iconId.to_i}.png" return icon end |
#rank_info(id) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/ruby_gg/summoner.rb', line 27 def rank_info(id) rankPayload = HTTParty.get("#{@base_url}#{@rank_url}#{id.to_i}?api_key=#{@api_key}").parsed_response rankInfo = {:solo => {}, :flex => {}, :tt => {}} rankPayload.each {|x| if x['queueType'].eql?"RANKED_SOLO_5x5" x.each {|k,v|rankInfo[:solo][k.to_sym] = v} elsif x['queueType'].eql? "RANKED_FLEX_SR" x.each {|k,v|rankInfo[:flex][k.to_sym] = v} elsif x['queueType'].eql? "RANKED_TT_SR" x.each {|k,v|rankInfo[:tt][k.to_sym] = v} end } return rankInfo end |