ruby-lol 0.9.16 → 0.9.17

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 03ae6f98f47fce90560b3cfdd3e4742ea357433e
4
- data.tar.gz: 0c69536eff6eda86a31ec7d6fc5f75f9ad2d6149
3
+ metadata.gz: 33cb584a624fdb82f0d0d7edee38c991cb893777
4
+ data.tar.gz: e0aa54577b540ddd373a5bf47cfede9270d1e7f2
5
5
  SHA512:
6
- metadata.gz: 9934b89284738a4ce5974036f598a97046e0c1903772e6e78d56a3bf9a4a509baef2fdae93aaa17e558808875e1d4a4b4f39bbcef046d8654bc5857cb52f6b19
7
- data.tar.gz: 7604d52e2a89ae61ddd26d2d647c088554acf0ef693e2b240a54ad4b1896c253853df4d892958008050bac589726310ec537552ffbb3d472ed9b0020a2817040
6
+ metadata.gz: a4fb2ce89932f967adb44fdbf085c22f432e079a61e64eaeb0102c1c8cf461571777edb8b37ef28d9aa33cd4df274d475a254550c946bd69537803f704cc0afc
7
+ data.tar.gz: 1ce589a26bb8c1477f22300b9019661a19b8b1a446c8917c6086f2683b4deab8143831a1c66fc7542ab905c480accd144b144cfee36e3d7d22b475501c4aec13
data/demo/demo.rb CHANGED
@@ -4,137 +4,13 @@ require "rubygems"
4
4
  require "ap"
5
5
  require "lol"
6
6
 
7
- module Lol
8
- class Scraper
9
- attr_accessor :req, :client, :redis, :seed_id
7
+ include Lol
10
8
 
11
- def get_summoner_id summoner
12
- self.req += 1
13
- client.summoner.by_name(summoner).first.id
14
- end
9
+ client = Client.new "18b7c486-0d5a-459f-9d60-cf8776b154c6"
10
+ intinig = client.summoner.by_name "intinig"
11
+ leagues = client.league.get intinig.id
12
+ my_league = leagues.first
15
13
 
16
- def get_leagues summoner_id
17
- self.req +=1
18
- client.league.get summoner_id
19
- end
20
-
21
- def get_league_players summoner_id
22
- get_leagues(summoner_id).map do |l|
23
- l.entries.map do |entry|
24
- if entry.player_or_team_id.to_i == 0
25
- nil
26
- else
27
- entry.player_or_team_id
28
- end
29
- end
30
- end.flatten.compact
31
- end
32
-
33
- def scrape_solo_league_for_teams summoner_id
34
- get_league_players(summoner_id).map do |player|
35
- if req >= 500
36
- puts "Dormo per un minuto..."
37
- sleep(60)
38
- self.req = 0
39
- end
40
-
41
- begin
42
- puts "#{req}. #{player}"
43
- if redis.sismember "losers", player
44
- nil
45
- else
46
- redis.sadd "winners", player
47
- self.req += 1
48
- client.team.get player
49
- end
50
- rescue Lol::NotFound
51
- puts "Hitting the API on 404 - No cache"
52
- redis.sadd "losers", player
53
- nil
54
- rescue Lol::InvalidAPIResponse
55
- puts "Hit Rate Limit on #{player}"
56
- sleep(5)
57
- nil
58
- end
59
- end.compact.flatten
60
- end
61
-
62
- def get_players_from_leagues summoner_id
63
- begin
64
- scrape_solo_league_for_teams(summoner_id).map do |t|
65
- t.roster.member_list.map do |s|
66
- s.player_id
67
- end
68
- end.flatten.uniq
69
- rescue NoMethodError
70
- []
71
- rescue Lol::NotFound
72
- []
73
- end
74
- end
75
-
76
- def filter_captains
77
- redis.smembers("winners").each do |winner|
78
- ap winner
79
- begin
80
- team = client.team.get(winner)
81
- rescue Lol::NotFound
82
- next
83
- rescue Lol::InvalidAPIResponse
84
- puts "wait..."
85
- sleep(5)
86
- next
87
- end
88
- team.each do |t|
89
- if t.roster.owner_id == winner.to_i
90
- redis.sadd "captains", winner
91
- end
92
- end
93
- end
94
- end
95
-
96
- def get_captains
97
- puts redis.smembers("captains").sort
98
- end
99
-
100
- def initialize seed
101
- @req = 0
102
- @client = Client.new ENV["RIOT_GAMES_API_KEY"], region: "euw", redis: "redis://localhost:6379", ttl: 36000
103
- @redis = Redis.new
104
-
105
- @seed_id = get_summoner_id seed
106
- end
107
- end
14
+ my_league.entries.select {|entry| entry.player_or_team_name == "intinig"}.each do |entry|
15
+ ap entry
108
16
  end
109
-
110
-
111
- # lotsa = scrape_league(get_summoner("intinig")).map do |player|
112
- # player.map do |team|
113
- # team.roster.member_list.map(&:player_id)
114
- # end.flatten
115
- # end.flatten.uniq
116
-
117
- # so_many = []
118
-
119
- # lotsa.each do |summoner|
120
- # next if @redis.sismember("winners", summoner)
121
- # ap get_players(summoner)
122
- # so_many << scrape_league(summoner).map do |player|
123
- # player.map do |team|
124
- # team.roster.member_list.map(&:player_id)
125
- # end.flatten
126
- # end.flatten
127
- # end
128
-
129
- # ap so_many
130
-
131
- scraper = Lol::Scraper.new "intinig"
132
- scraper.get_captains
133
- # scraper.get_players_from_leagues(scraper.seed_id).map do |player|
134
- # begin
135
- # player = scraper.client.summoner.get(player).first.id
136
- # scraper.get_players_from_leagues(player)
137
- # rescue Lol::InvalidAPIResponse
138
- # sleep(2)
139
- # end
140
- # end
@@ -0,0 +1,10 @@
1
+ module Lol
2
+ class InvalidAPIResponse < StandardError
3
+ attr_reader :raw
4
+
5
+ def initialize url, response
6
+ super "#{response["status"]["message"]} calling #{url}"
7
+ @raw = raw
8
+ end
9
+ end
10
+ end
data/lib/lol/request.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require "uri"
2
+ require "lol/invalid_api_response"
2
3
 
3
4
  module Lol
4
- class InvalidAPIResponse < StandardError; end
5
5
  class NotFound < StandardError; end
6
6
  class InvalidCacheStore < StandardError; end
7
7
 
@@ -53,7 +53,7 @@ module Lol
53
53
 
54
54
  response = self.class.get(url)
55
55
  raise NotFound.new("404 Not Found") if response.respond_to?(:code) && response.not_found?
56
- raise InvalidAPIResponse.new(response["status"]["message"]) if response.is_a?(Hash) && response["status"]
56
+ raise InvalidAPIResponse.new(url, response) if response.is_a?(Hash) && response["status"]
57
57
 
58
58
  store.setex clean_url(url), ttl, response.to_json if cached?
59
59
 
data/lib/lol/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Lol
2
- VERSION = "0.9.16"
2
+ VERSION = "0.9.17"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-lol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.16
4
+ version: 0.9.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Giovanni Intini
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-04-28 00:00:00.000000000 Z
11
+ date: 2014-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -280,6 +280,7 @@ files:
280
280
  - lib/lol/client.rb
281
281
  - lib/lol/game.rb
282
282
  - lib/lol/game_request.rb
283
+ - lib/lol/invalid_api_response.rb
283
284
  - lib/lol/league.rb
284
285
  - lib/lol/league_entry.rb
285
286
  - lib/lol/league_request.rb