diff options
-rw-r--r-- | Gemfile.lock | 26 | ||||
-rw-r--r-- | app/models/tournament_stage.rb | 38 | ||||
-rw-r--r-- | lib/pairing/PairingAlgorithm.rb | 2 | ||||
-rw-r--r-- | lib/scheduling/elimination.rb | 5 | ||||
-rw-r--r-- | lib/scoring/scoring_algorithm.rb | 10 |
5 files changed, 60 insertions, 21 deletions
diff --git a/Gemfile.lock b/Gemfile.lock index 2fc2fe5..145a7fc 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -26,9 +26,8 @@ GEM thread_safe (~> 0.1) tzinfo (~> 0.3.37) arel (4.0.2) - atomic (1.1.16) bcrypt-ruby (3.1.2) - bootstrap-sass (3.1.1.0) + bootstrap-sass (3.1.1.1) sass (~> 3.2) builder (3.1.4) carrierwave (0.10.0) @@ -44,17 +43,17 @@ GEM execjs coffee-script-source (1.7.0) daemons (1.1.9) - delayed_job (4.0.0) - activesupport (>= 3.0, < 4.1) - delayed_job_active_record (4.0.0) - activerecord (>= 3.0, < 4.1) + delayed_job (4.0.1) + activesupport (>= 3.0, < 4.2) + delayed_job_active_record (4.0.1) + activerecord (>= 3.0, < 4.2) delayed_job (>= 3.0, < 4.1) erubis (2.7.0) execjs (2.0.2) foreigner (1.6.1) activerecord (>= 3.0.0) hike (1.2.3) - httparty (0.13.0) + httparty (0.13.1) json (~> 1.8) multi_xml (>= 0.5.2) i18n (0.6.9) @@ -94,16 +93,16 @@ GEM activesupport (= 4.0.2) rake (>= 0.8.7) thor (>= 0.18.1, < 2.0) - rake (10.2.2) + rake (10.3.1) rdoc (4.1.1) json (~> 1.4) ref (1.0.5) - sass (3.2.18) - sass-rails (4.0.2) + sass (3.2.19) + sass-rails (4.0.3) railties (>= 4.0.0, < 5.0) sass (~> 3.2.0) sprockets (~> 2.8, <= 2.11.0) - sprockets-rails (~> 2.0.0) + sprockets-rails (~> 2.0) sdoc (0.4.0) json (~> 1.8) rdoc (~> 4.0, < 5.0) @@ -123,13 +122,12 @@ GEM libv8 (~> 3.16.14.0) ref thor (0.19.1) - thread_safe (0.3.1) - atomic (>= 1.1.7, < 2) + thread_safe (0.3.3) tilt (1.4.1) treetop (1.4.15) polyglot polyglot (>= 0.3.1) - turbolinks (2.2.1) + turbolinks (2.2.2) coffee-rails tzinfo (0.3.39) uglifier (2.5.0) diff --git a/app/models/tournament_stage.rb b/app/models/tournament_stage.rb index 762f6a7..d5a5211 100644 --- a/app/models/tournament_stage.rb +++ b/app/models/tournament_stage.rb @@ -22,6 +22,22 @@ class TournamentStage < ActiveRecord::Base return @scheduling.graph(current_user) end + def pair + set_pairing + return @pairing.pair(matches, players) + end + + def score + set_scoring + #populating the user scores in the database form what you get from @scoring.score(match, interface) + end + + #populate the statistics interface (with populating method) + def populate + set_populating + #? + end + private def set_scheduling if @scheduling.nil? @@ -30,4 +46,26 @@ class TournamentStage < ActiveRecord::Base end return @scheduling end + + private + def set_pairing + if @pairing.nil? + if(@tournament.randomized_teams) + require "pairing/#{self.pairing}" + @pairing = "Pairing::RandomPairing" + return @pairing + #elsif(setTeams) + #@pairing = Pre built + #return @pairing + end + end + end + + private + def set_scoring + end + + private + def set_populating + end end diff --git a/lib/pairing/PairingAlgorithm.rb b/lib/pairing/PairingAlgorithm.rb index c3d7f7b..81e4df6 100644 --- a/lib/pairing/PairingAlgorithm.rb +++ b/lib/pairing/PairingAlgorithm.rb @@ -1,4 +1,4 @@ -module Leaguer +module Pairing class PairingAlgorithm def self.pair(matches, players) end diff --git a/lib/scheduling/elimination.rb b/lib/scheduling/elimination.rb index 055fdbd..1ac696d 100644 --- a/lib/scheduling/elimination.rb +++ b/lib/scheduling/elimination.rb @@ -10,6 +10,7 @@ module Scheduling def tournament_stage @tournament_stage end + def tournament self.tournament_stage.tournament end @@ -20,8 +21,12 @@ module Scheduling for i in 1..num_matches self.tournament_stage.matches.create(status: 0, submitted_peer_evaluations: 0) end + match_num = num_matches-1 team_num = 0 + + self.tournament.players.shuffle + # for each grouping of min_players_per_team self.tournament.players.each_slice(self.tournament.min_players_per_team) do |team_members| # if the match is full, move to the next match, otherwise move to the next team diff --git a/lib/scoring/scoring_algorithm.rb b/lib/scoring/scoring_algorithm.rb index 6277da8..f2afa6f 100644 --- a/lib/scoring/scoring_algorithm.rb +++ b/lib/scoring/scoring_algorithm.rb @@ -1,8 +1,6 @@ -module Leaguer - module Scoring - class ScoringAlgorithm - def self.score(match, interface) - end +module Scoring + class ScoringAlgorithm + def self.score(match, interface) end end -end
\ No newline at end of file +end |