pinrails/app/controllers/pages_controller.rb

34 lines
747 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 < 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