diff --git a/app/models/match.rb b/app/models/match.rb index 02708e9..d1db5c2 100644 --- a/app/models/match.rb +++ b/app/models/match.rb @@ -37,4 +37,9 @@ class Match < ActiveRecord::Base self.save end end + def poolNumber + if self.w1 + Wrestler.find(self.w1).generatePoolNumber + end + end end diff --git a/app/models/pool_advance.rb b/app/models/pooladvance.rb similarity index 71% rename from app/models/pool_advance.rb rename to app/models/pooladvance.rb index 7758c8b..466025a 100644 --- a/app/models/pool_advance.rb +++ b/app/models/pooladvance.rb @@ -11,7 +11,7 @@ class Pooladvance def advanceWrestler if self.wrestler.poolMatches.size > self.wrestler.finishedMatches.size - exit + return nil end poolToBracketAdvancment bracketAdvancment @@ -22,7 +22,7 @@ class Pooladvance @poolWrestlers = self.wrestler.weight.wrestlers_for_pool(@pool) @poolWrestlers.each do |w| if w.finishedBracketMatches.size > 0 - exit + return nil end end #Move to correct spot in bracket from pool @@ -49,8 +49,29 @@ class Pooladvance end def bracketAdvancment + if self.wrestler.finishedBracketMatches.size == 0 + return nil + end #Move to next correct spot in bracket + @matches = self.wrestler.finishedMatches.sort_by{|m| m.round}.reverse + @last_match = @matches.first + if @last_match.winner_id == self.wrestler.id + winnerAdvance(@last_match) + end + if @last_match.winner_id != self.wrestler.id + loserAdvance(@last_match) + end end + def winnerAdvance(last_match) + end + + def loserAdvance(last_match) + @bout = last_match.bout_number + @next_match = Match.where("loser_name = ?","Loser of #{@bout}") + if @next_match.size > 0 + @next_match.first.replaceLoserNameWithWrestler(self.wrestler,"Loser of #{@bout}") + end + end end diff --git a/app/models/weight.rb b/app/models/weight.rb index 9d6dfa1..0a0ff00 100644 --- a/app/models/weight.rb +++ b/app/models/weight.rb @@ -131,6 +131,6 @@ class Weight < ActiveRecord::Base def poolOrder @wrestlers = self.wrestlers - @wrestlers.sort_by{|w| w.poolWins}.reverse + @wrestlers.sort_by{|w| w.poolWins.count}.reverse! end end diff --git a/app/models/wrestler.rb b/app/models/wrestler.rb index 8b1efc4..c6fe43e 100644 --- a/app/models/wrestler.rb +++ b/app/models/wrestler.rb @@ -21,7 +21,7 @@ class Wrestler < ActiveRecord::Base @pool = self.weight.returnPoolNumber(self) end - def boutByRound(round,matches) + def boutByRound(round) @match = allMatches.select{|m| m.round == round}.first if @match.blank? return "BYE" @@ -36,7 +36,8 @@ class Wrestler < ActiveRecord::Base end def poolMatches - allMatches.select{|m| m.bracket_position == "Pool"} + @poolMatches = allMatches.select{|m| m.bracket_position == "Pool"} + @poolMatches.select{|m| m.poolNumber == self.generatePoolNumber} end def finishedMatches @@ -67,4 +68,10 @@ class Wrestler < ActiveRecord::Base return 0 end end + + def advanceInBracket + @advance = Pooladvance.new + @advance.wrestler = self + @advance.advanceWrestler + end end diff --git a/app/views/static_pages/_pool.html.erb b/app/views/static_pages/_pool.html.erb index 209239f..d574f88 100644 --- a/app/views/static_pages/_pool.html.erb +++ b/app/views/static_pages/_pool.html.erb @@ -21,7 +21,7 @@ <% @round = 1 %> <% until @matches.select{|m| m.round == @round}.blank? %> <% if @round <= @pools %> -