class PagesController < ApplicationController def index @players = Player.all end def teampicker @groups = maketeams @machines = Machine.limit(@groups.size).order(Arel.sql("RANDOM()")) end private def maketeams r = Player.where("strikes < 4").order(Arel.sql("RANDOM()")).to_a groups = case r.size 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