demo/demo.rb in ruby-lol-0.9.16 vs demo/demo.rb in ruby-lol-0.9.17
- old
+ new
@@ -2,139 +2,15 @@
require "rubygems"
require "ap"
require "lol"
-module Lol
- class Scraper
- attr_accessor :req, :client, :redis, :seed_id
+include Lol
- def get_summoner_id summoner
- self.req += 1
- client.summoner.by_name(summoner).first.id
- end
+client = Client.new "18b7c486-0d5a-459f-9d60-cf8776b154c6"
+intinig = client.summoner.by_name "intinig"
+leagues = client.league.get intinig.id
+my_league = leagues.first
- def get_leagues summoner_id
- self.req +=1
- client.league.get summoner_id
- end
-
- def get_league_players summoner_id
- get_leagues(summoner_id).map do |l|
- l.entries.map do |entry|
- if entry.player_or_team_id.to_i == 0
- nil
- else
- entry.player_or_team_id
- end
- end
- end.flatten.compact
- end
-
- def scrape_solo_league_for_teams summoner_id
- get_league_players(summoner_id).map do |player|
- if req >= 500
- puts "Dormo per un minuto..."
- sleep(60)
- self.req = 0
- end
-
- begin
- puts "#{req}. #{player}"
- if redis.sismember "losers", player
- nil
- else
- redis.sadd "winners", player
- self.req += 1
- client.team.get player
- end
- rescue Lol::NotFound
- puts "Hitting the API on 404 - No cache"
- redis.sadd "losers", player
- nil
- rescue Lol::InvalidAPIResponse
- puts "Hit Rate Limit on #{player}"
- sleep(5)
- nil
- end
- end.compact.flatten
- end
-
- def get_players_from_leagues summoner_id
- begin
- scrape_solo_league_for_teams(summoner_id).map do |t|
- t.roster.member_list.map do |s|
- s.player_id
- end
- end.flatten.uniq
- rescue NoMethodError
- []
- rescue Lol::NotFound
- []
- end
- end
-
- def filter_captains
- redis.smembers("winners").each do |winner|
- ap winner
- begin
- team = client.team.get(winner)
- rescue Lol::NotFound
- next
- rescue Lol::InvalidAPIResponse
- puts "wait..."
- sleep(5)
- next
- end
- team.each do |t|
- if t.roster.owner_id == winner.to_i
- redis.sadd "captains", winner
- end
- end
- end
- end
-
- def get_captains
- puts redis.smembers("captains").sort
- end
-
- def initialize seed
- @req = 0
- @client = Client.new ENV["RIOT_GAMES_API_KEY"], region: "euw", redis: "redis://localhost:6379", ttl: 36000
- @redis = Redis.new
-
- @seed_id = get_summoner_id seed
- end
- end
+my_league.entries.select {|entry| entry.player_or_team_name == "intinig"}.each do |entry|
+ ap entry
end
-
-
-# lotsa = scrape_league(get_summoner("intinig")).map do |player|
-# player.map do |team|
-# team.roster.member_list.map(&:player_id)
-# end.flatten
-# end.flatten.uniq
-
-# so_many = []
-
-# lotsa.each do |summoner|
-# next if @redis.sismember("winners", summoner)
-# ap get_players(summoner)
-# so_many << scrape_league(summoner).map do |player|
-# player.map do |team|
-# team.roster.member_list.map(&:player_id)
-# end.flatten
-# end.flatten
-# end
-
-# ap so_many
-
-scraper = Lol::Scraper.new "intinig"
-scraper.get_captains
-# scraper.get_players_from_leagues(scraper.seed_id).map do |player|
-# begin
-# player = scraper.client.summoner.get(player).first.id
-# scraper.get_players_from_leagues(player)
-# rescue Lol::InvalidAPIResponse
-# sleep(2)
-# end
-# end