From 819fd70c1285bf5670b68842adad8c77c36d1076 Mon Sep 17 00:00:00 2001 From: nfoy Date: Mon, 28 Apr 2014 21:32:04 -0400 Subject: All the changes. Luke should know what's up. --- lib/sampling/riot_api.rb | 14 ++++++++------ lib/throttled_api_request.rb | 5 +++-- 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'lib') diff --git a/lib/sampling/riot_api.rb b/lib/sampling/riot_api.rb index 7d75475..18a5ee7 100644 --- a/lib/sampling/riot_api.rb +++ b/lib/sampling/riot_api.rb @@ -17,7 +17,7 @@ module Sampling protected def self.url(request, args={}) - "https://prod.api.pvp.net/api/lol/#{region}/#{request % args.merge(args){|k,v|url_escape(v)}}?#{api_key}" + "https://prod.api.pvp.net/api/lol/#{region}/#{request % args.merge(args){|k,v|url_escape(v)}}?api_key=#{api_key}" end protected @@ -43,7 +43,7 @@ module Sampling {:unit_time => 10.seconds, :requests_per => 10}, {:unit_time => 10.minutes, :requests_per => 500}, ] - super(api_name, limits) + super(RiotApi::api_name, limits) end def perform @@ -110,7 +110,7 @@ module Sampling # When given a summoner name for a user, figure out the summoner ID. public def self.set_remote_name(user, game, summoner_name) - Delayed::Job.enqueue(UsernameJob.new(user, game, summoner_name), :queue => api_name) + Delayed::Job.enqueue(UsernameJob.new(user, game, summoner_name), :queue => RiotApi::api_name) end protected class UsernameJob < Job @@ -158,7 +158,7 @@ module Sampling @match.teams.each do |team| team.users.each do |user| #For demo purposes, we are hard coding in a league of legends game id. - Delayed::Job.enqueue(MatchJob.new(user, @match, @match.stats_from(self.class), 1362730546), :queue => api_name) + Delayed::Job.enqueue(FetchStatisticsJob.new(user, @match, @match.stats_from(self.class), 10546), :queue => RiotApi::api_name) end end end @@ -176,20 +176,22 @@ module Sampling super("v1.3/game/by-summoner/%{summonerId}/recent", { :summonerId => summoner["id"] }) end def handle(data) + puts("handling...") user = User.find(@user_id) match = Match.find(@match_id) if @last_game_id.nil? - Delayed::Job.enqueue(MatchJob.new(user, match, data["games"][0]["gameId"]), :queue => api_name) + Delayed::Job.enqueue(FetchStatisticsJob.new(user, match, data["games"][0]["gameId"]), :queue => RiotApi::api_name) else if @last_game_id == data["games"][0]["gameId"] sleep(4.minutes) - Delayed::Job.enqueue(MatchJob.new(user, match, @last_game_id), :queue => api_name) + Delayed::Job.enqueue(FetchStatisticsJob.new(user, match, @last_game_id), :queue => RiotApi::api_name) else @stats.each do |stat| Statistic.create(user: user, match: match, name: stat, value: data["games"][0]["stats"][stat]) end end end + puts("done handling") end end diff --git a/lib/throttled_api_request.rb b/lib/throttled_api_request.rb index 1020071..b632d1e 100644 --- a/lib/throttled_api_request.rb +++ b/lib/throttled_api_request.rb @@ -8,9 +8,9 @@ class ThrottledApiRequest < Struct.new(:api_name, :limits) loop do sleep_for = -1 ActiveRecord::Base.transaction do - ApiRequests.create(:api_name => self.api_name) + ApiRequest.create(:api_name => self.api_name) self.limits.each do |limit| - recent_requests = ApiRequets. + recent_requests = ApiRequest. where(:api_name => self.api_name). where("updated_at > ?", Time.now.utc - limit[:unit_time]). order(:updated_at) @@ -23,6 +23,7 @@ class ThrottledApiRequest < Struct.new(:api_name, :limits) end end if sleep_for != -1 + puts "sleeping for #{sleeping_for}" sleep(sleep_for) else break -- cgit v1.2.3-54-g00ecf From 40c112d42922c14063759d381f834724f22a340d Mon Sep 17 00:00:00 2001 From: tkimia Date: Mon, 28 Apr 2014 22:54:35 -0400 Subject: made svg smaller --- app/controllers/brackets_controller.rb | 1 + app/models/bracket.rb | 9 +++++++++ app/views/brackets/show.html.erb | 20 +++++++++++--------- app/views/common/_show_tournament.html.erb | 5 +++++ lib/scheduling/elimination.rb | 5 +++-- 5 files changed, 29 insertions(+), 11 deletions(-) (limited to 'lib') diff --git a/app/controllers/brackets_controller.rb b/app/controllers/brackets_controller.rb index b91a2c4..e202c96 100644 --- a/app/controllers/brackets_controller.rb +++ b/app/controllers/brackets_controller.rb @@ -11,6 +11,7 @@ class BracketsController < ApplicationController # GET /brackets/1 # GET /brackets/1.json def show + @results = (@tournament.status == 4)? @bracket.calcResult : nil; @matches = @tournament.stages.order(:id).first.matches_ordered @numTeams = @tournament.min_teams_per_match @logBase = @numTeams diff --git a/app/models/bracket.rb b/app/models/bracket.rb index fc3e10e..48414c3 100644 --- a/app/models/bracket.rb +++ b/app/models/bracket.rb @@ -20,4 +20,13 @@ class Bracket < ActiveRecord::Base end return true end + + + def calcResults + results = Array.new + (0..bracket_matches.count-1).each do |i| + results.push(bracket_matches.order(:match_id)[i].predicted_winner == tournament.stages.order(:id).first.matches.order(:id).winner) + end + return results + end end diff --git a/app/views/brackets/show.html.erb b/app/views/brackets/show.html.erb index a3eb000..24b19fe 100644 --- a/app/views/brackets/show.html.erb +++ b/app/views/brackets/show.html.erb @@ -1,7 +1,8 @@

<%= @bracket.name %>

-

Make your prediction for the tournament by clicking on the teams you think will win

- +<% if !@results %> +

Make your prediction for the tournament by clicking on the teams you think will win

+<% end %> + <% if @matches[i].teams[t-1] && !@results %> onclick="chooseWinner(<%= @matches[i].id%>, <%= @matches[i].teams[t-1].id %>)" <% end %> > @@ -97,12 +98,13 @@ <% end %> -<%= form_tag(tournament_bracket_path(@tournament, @bracket), method: 'put') do %> - - <% for i in 1..@matches.length %> - <%= hidden_field_tag("bracket[matches][#{@matches[i].id.to_s}]", value = nil) %> +<% if !@results %> + <%= form_tag(tournament_bracket_path(@tournament, @bracket), method: 'put') do %> + + <% for i in 1..@matches.length %> + <%= hidden_field_tag("bracket[matches][#{@matches[i].id.to_s}]", value = nil) %> + <% end %> + <%= submit_tag("Submit Prediction", disabled: true, id: "bracket-submit") %> <% end %> - <%= submit_tag("Submit Prediction", disabled: true, id: "bracket-submit") %> <% end %> - <%= link_to 'Back', tournaments_path %> diff --git a/app/views/common/_show_tournament.html.erb b/app/views/common/_show_tournament.html.erb index f4d02ec..c0237b1 100644 --- a/app/views/common/_show_tournament.html.erb +++ b/app/views/common/_show_tournament.html.erb @@ -38,6 +38,11 @@ <%= form_tag(tournament_brackets_path(target), method: "post") do %> <%= submit_tag("Make Bracket") %> <% end %> + <% elsif @user_bracket && target.status == 4 %> + <%= form_tag(tournament_bracket_path(@tournament, @bracket), method: 'put') do %> + + <%= submit_tag("Bracket Results") %> + <% end %> <% end %> <% end %> diff --git a/lib/scheduling/elimination.rb b/lib/scheduling/elimination.rb index 4518cff..73aefb4 100644 --- a/lib/scheduling/elimination.rb +++ b/lib/scheduling/elimination.rb @@ -52,6 +52,7 @@ module Scheduling # height of SVG matchHeight = 50*logBase; height = [(matchHeight+50) * logBase**(depth-1) + 100, 500].max; + height = height/2; str = <<-STRING \n" if matches[i].teams[t-1] - str += "\t\tTeam #{matches[i].teams[t-1].id}\n" + str += "\t\tTeam #{matches[i].teams[t-1].id}\n" end if (t < numTeams) - str += "\t\t VS \n" + str += "\t\t VS \n" end t = t + 1 end -- cgit v1.2.3-54-g00ecf From 7297cff5b674a61fd57ccc46eb75173011bd205c Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Mon, 28 Apr 2014 23:57:48 -0400 Subject: fix riot_api --- app/models/statistic.rb | 2 +- lib/sampling/riot_api.rb | 5 ++--- lib/throttled_api_request.rb | 1 - 3 files changed, 3 insertions(+), 5 deletions(-) (limited to 'lib') diff --git a/app/models/statistic.rb b/app/models/statistic.rb index b4608b8..fefa3a8 100644 --- a/app/models/statistic.rb +++ b/app/models/statistic.rb @@ -16,7 +16,7 @@ class Statistic < ActiveRecord::Base after_save :update_match def update_match - if (self.name == "win") and (self.value > 0) + if (self.name == "win") and (self.value) self.match.winner = self.match.teams.find{|t| t.users.include? self.user} end if (self.match.status == 2) and (self.match.finished?) diff --git a/lib/sampling/riot_api.rb b/lib/sampling/riot_api.rb index 18a5ee7..bbe9cea 100644 --- a/lib/sampling/riot_api.rb +++ b/lib/sampling/riot_api.rb @@ -62,10 +62,11 @@ module Sampling if status[0] != "200" raise "GET #{@url} => #{status.join(" ")}" end - self.handle(data) + return self.handle(data) end def handle(data) + return true end end @@ -176,7 +177,6 @@ module Sampling super("v1.3/game/by-summoner/%{summonerId}/recent", { :summonerId => summoner["id"] }) end def handle(data) - puts("handling...") user = User.find(@user_id) match = Match.find(@match_id) if @last_game_id.nil? @@ -191,7 +191,6 @@ module Sampling end end end - puts("done handling") end end diff --git a/lib/throttled_api_request.rb b/lib/throttled_api_request.rb index b632d1e..c48a66d 100644 --- a/lib/throttled_api_request.rb +++ b/lib/throttled_api_request.rb @@ -23,7 +23,6 @@ class ThrottledApiRequest < Struct.new(:api_name, :limits) end end if sleep_for != -1 - puts "sleeping for #{sleeping_for}" sleep(sleep_for) else break -- cgit v1.2.3-54-g00ecf