add a machine to each team
This commit is contained in:
parent
1d61af15bc
commit
e9887785bb
|
@ -5,31 +5,29 @@ class PagesController < ApplicationController
|
|||
|
||||
def teampicker
|
||||
@groups = maketeams
|
||||
|
||||
@machines = Machine.limit(@groups.count).order(Arel.sql("RANDOM()"))
|
||||
end
|
||||
|
||||
private
|
||||
def random
|
||||
Player.where("strikes < 4").order(Arel.sql("RANDOM()"))
|
||||
end
|
||||
|
||||
def maketeams
|
||||
r = random.to_a
|
||||
r = Player.where("strikes < 4").order(Arel.sql("RANDOM()")).to_a
|
||||
|
||||
case Player.count { |p| p.active? }
|
||||
when 5
|
||||
[r.shift(3), r.shift(2)]
|
||||
when 6
|
||||
r.each_slice(3)
|
||||
when 9
|
||||
r.each_slice(3)
|
||||
when 10
|
||||
[r.shift(4), r.shift(3), r.shift(3)]
|
||||
when 13
|
||||
[r.shift(4), r.shift(3), r.shift(3), r.shift(3)]
|
||||
when 14
|
||||
[r.shift(4), r.shift(4), r.shift(3), r.shift(3)]
|
||||
else
|
||||
r.each_slice(4)
|
||||
end
|
||||
groups = case r.count
|
||||
when 5
|
||||
[r.shift(3), r.shift(2)]
|
||||
when 6
|
||||
r.each_slice(3)
|
||||
when 9
|
||||
r.each_slice(3)
|
||||
when 10
|
||||
[r.shift(4), r.shift(3), r.shift(3)]
|
||||
when 13
|
||||
[r.shift(4), r.shift(3), r.shift(3), r.shift(3)]
|
||||
when 14
|
||||
[r.shift(4), r.shift(4), r.shift(3), r.shift(3)]
|
||||
else
|
||||
r.each_slice(4)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,8 +16,7 @@
|
|||
<%= link_to "Home", root_path %> ~
|
||||
<%= link_to "Tables", machines_path %> ~
|
||||
<%= link_to "Players", players_path %> ~
|
||||
<%= link_to "Pick Table", controller: "machines", action: "random" %> ~
|
||||
<%= link_to "Pick Teams", controller: "pages", action: "teampicker" %>
|
||||
<%= link_to "Randomize", controller: "pages", action: "teampicker" %>
|
||||
</nav>
|
||||
<hr>
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
<% @groups.each.with_index(1) do |slice, i| %>
|
||||
<h3>Team <%= i %></h3>
|
||||
<p>Table: <%= @machines[i - 1].name %></p>
|
||||
<ul>
|
||||
<% slice.each do |player| %>
|
||||
<li><%= link_to player.name, edit_player_path(player) %></li>
|
||||
|
|
Loading…
Reference in New Issue