33 lines
616 B
Ruby
33 lines
616 B
Ruby
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
|