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: 0...3).order(Arel.sql("RANDOM()")).to_a teams = [] while r.size > 0 if r.size % 4 == 0 teams << r.shift(4) elsif r.size % 2 == 0 teams << r.shift(3) teams << r.shift(3) elsif r.size % 3 == 0 teams << r.shift(3) else teams << r.shift(4) end end teams.sort { |a, b| b.length <=> a.length } end end