# frozen_string_literal: true class PagesController < ApplicationController def index; end def randomize @groups = make_teams @machines = Machine.limit(@groups.size).order(Arel.sql('RANDOM()')) end private def make_teams r = Player.order(Arel.sql('RANDOM()')).to_a teams = [] until r.empty? if (r.size % 4).zero? teams << r.shift(4) elsif r.size.even? && (r.size > 2) teams << r.shift(3) teams << r.shift(3) elsif (r.size % 3).zero? teams << r.shift(3) elsif r.size == 5 teams << r.shift(3) teams << r.shift(2) else teams << r.shift(4) end end teams.sort { |a, b| b.length <=> a.length } end end