ruby-lol 0.9.16 → 0.9.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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