From c87dbe49d521683900c20a9425a96467fa631489 Mon Sep 17 00:00:00 2001 From: AndrewMurrell Date: Sun, 27 Apr 2014 20:39:13 -0400 Subject: Seeding Algorithms now create teams. --- lib/seeding/early_bird_seeding.rb | 2 +- lib/seeding/fair_ranked_seeding.rb | 3 +++ lib/seeding/random_seeding.rb | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/seeding/early_bird_seeding.rb b/lib/seeding/early_bird_seeding.rb index f3fc6f9..cb24415 100644 --- a/lib/seeding/early_bird_seeding.rb +++ b/lib/seeding/early_bird_seeding.rb @@ -7,7 +7,7 @@ module Seeding teams = 0 tournament.players.each_slice(tournament.min_players_per_team) do |slice| if teams < tournament.min_teams_per_match - match.teams[teams].players += slice + match.teams.push Team.create(players: slice) teams += 1 else match_num += 1 diff --git a/lib/seeding/fair_ranked_seeding.rb b/lib/seeding/fair_ranked_seeding.rb index 22c245e..6531c43 100644 --- a/lib/seeding/fair_ranked_seeding.rb +++ b/lib/seeding/fair_ranked_seeding.rb @@ -5,6 +5,9 @@ module Seeding match = matches.first match_num = 0 players_used = 0 + (tournament.players.count/tournament.min_players_per_team).floor.times do + match.teams.push Team.create() + end best_first(tournament).each_slice(tournament.min_teams_per_match) do |slice| (0..tournament.min_teams_per_match-1).each do |index| match.teams[index].players += slice[index] diff --git a/lib/seeding/random_seeding.rb b/lib/seeding/random_seeding.rb index bc332ef..65979bc 100644 --- a/lib/seeding/random_seeding.rb +++ b/lib/seeding/random_seeding.rb @@ -7,7 +7,7 @@ module Seeding teams = 0 tournament.players.shuffle.each_slice(tournament.min_players_per_team) do |slice| if teams < tournament.min_teams_per_match - match.teams[teams].players += slice + match.teams.push Team.create(players: slice) teams += 1 else match_num += 1 -- cgit v1.2.3-54-g00ecf From 2d7313767442956eab00671ac555c0ce4e583b5f Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 27 Apr 2014 23:01:04 -0400 Subject: handle what I can of `fgrep -r TODO app lib` --- app/controllers/sessions_controller.rb | 2 +- app/controllers/tournaments_controller.rb | 8 -------- app/views/matches/show.html.erb | 1 - app/views/tournaments/show.html.erb | 3 +-- lib/sampling/riot_api.rb | 3 ++- 5 files changed, 4 insertions(+), 13 deletions(-) (limited to 'lib') diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index a0390ad..9f0a8e3 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -18,7 +18,7 @@ class SessionsController < ApplicationController if @user && @user.authenticate(params[:session][:password]) sign_in @user format.html { redirect_to root_path } - #format.json { #TODO } + #format.json { # TODO } else format.html { render action: 'new' } format.json { render json: @user.errors, status: :unprocessable_entity } diff --git a/app/controllers/tournaments_controller.rb b/app/controllers/tournaments_controller.rb index 2e854a2..c06c16c 100644 --- a/app/controllers/tournaments_controller.rb +++ b/app/controllers/tournaments_controller.rb @@ -87,14 +87,6 @@ class TournamentsController < ApplicationController end end - def create_stage - - # stage = @tournament.stages.new - # stage.create(TODO:PARAMETERS) - # @tournament.stages.push(stage) - - end - # PATCH/PUT /tournaments/1 # PATCH/PUT /tournaments/1.json def update diff --git a/app/views/matches/show.html.erb b/app/views/matches/show.html.erb index 3f9c6b4..01484d3 100644 --- a/app/views/matches/show.html.erb +++ b/app/views/matches/show.html.erb @@ -64,7 +64,6 @@ <% end %> <% when 2 %> - <%= @match.render_sampling(current_user) %> <% when 3 %> diff --git a/app/views/tournaments/show.html.erb b/app/views/tournaments/show.html.erb index 53389bb..c71d3c6 100644 --- a/app/views/tournaments/show.html.erb +++ b/app/views/tournaments/show.html.erb @@ -47,8 +47,7 @@

Sampling method: - - <%= @tournament.sampling_method %> + <%= @tournament.sampling_method.humanize.capitalize %>

<% @tournament.settings.each do |setting| %> diff --git a/lib/sampling/riot_api.rb b/lib/sampling/riot_api.rb index 333095c..8c34fc4 100644 --- a/lib/sampling/riot_api.rb +++ b/lib/sampling/riot_api.rb @@ -84,7 +84,8 @@ module Sampling end ## - # TODO description + # Return whether or not the API can get a given statistic for + # a given user. public def self.can_get?(user, stat) if user.nil? -- cgit v1.2.3-54-g00ecf From b35fa4b6f79d13d46eab4c9ba9e631eeb20ba73b Mon Sep 17 00:00:00 2001 From: AndrewMurrell Date: Sun, 27 Apr 2014 23:15:31 -0400 Subject: replaced getStatistic with focused where --- app/models/match.rb | 9 ++++++++- app/views/tournaments/standings.html.erb | 4 ++-- lib/seeding/fair_ranked_seeding.rb | 2 +- 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'lib') diff --git a/app/models/match.rb b/app/models/match.rb index 9045d67..e817b71 100644 --- a/app/models/match.rb +++ b/app/models/match.rb @@ -6,7 +6,14 @@ class Match < ActiveRecord::Base belongs_to :winner, class_name: "Team" def setup() - + end + + def finished? + ok = true + tournament_stage.scoring_method.stats_needed.each do |stat| + ok &= statistics.where(match: self, name: stat).nil? + end + ok end def is_match_over(match, firstPlayer) diff --git a/app/views/tournaments/standings.html.erb b/app/views/tournaments/standings.html.erb index b8739de..a04e132 100644 --- a/app/views/tournaments/standings.html.erb +++ b/app/views/tournaments/standings.html.erb @@ -1,7 +1,7 @@ -<% playerscores = @tournament.players.collect {|player| player => @tournament.statistics.getStatistic(player.matches.last, player, :score) } %> +<% playerscores = @tournament.players.collect {|player| player => @tournament.statistics.where(match: player.matches.last, user: player, name: :score) } %> <% teams = tournament_stage.matches.collect { |match| match.teams.collect { |team| team.id => team.players.collect -{ |player| player.user_name => @tournament.statistics.getStatistic(player.matches.last, player, :score } } } %> +{ |player| player.user_name => @tournament.statistics.where(match: player.matches.last, user: player, name: :score } } } %> diff --git a/lib/seeding/fair_ranked_seeding.rb b/lib/seeding/fair_ranked_seeding.rb index 6bc62ca..870ebdd 100644 --- a/lib/seeding/fair_ranked_seeding.rb +++ b/lib/seeding/fair_ranked_seeding.rb @@ -33,7 +33,7 @@ module Seeding end def self.previous_score(player, tournament) - score = tournament.statistics.getStatistic(player.matches.last, player, :score) + score = tournament.statistics.where(match: player.matches.last, user: player, name: :score) if score.nil? return 0 end -- cgit v1.2.3-54-g00ecf