add a machine to each team

This commit is contained in:
Ben Harris 2021-08-24 11:21:44 -04:00
parent 1d61af15bc
commit e9887785bb
3 changed files with 21 additions and 23 deletions

View File

@ -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

View File

@ -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>

View File

@ -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>