about summary refs log tree commit diff
path: root/app/controllers/pages_controller.rb
diff options
context:
space:
mode:
authorBen Harris <ben@tilde.team>2021-08-24 11:21:44 -0400
committerBen Harris <ben@tilde.team>2021-08-24 11:21:44 -0400
commite9887785bba75849ec66a11c3a2f9a97229ec736 (patch)
tree6d76023e897dd4f9755ef5ba98c250a174b5c70f /app/controllers/pages_controller.rb
parent1d61af15bc99c745b25ea7a2ea5bff6c349cecde (diff)
add a machine to each team
Diffstat (limited to 'app/controllers/pages_controller.rb')
-rw-r--r--app/controllers/pages_controller.rb40
1 files changed, 19 insertions, 21 deletions
diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb
index e3838d2..2c454f9 100644
--- a/app/controllers/pages_controller.rb
+++ b/app/controllers/pages_controller.rb
@@ -5,31 +5,29 @@ class PagesController < ApplicationController
 
   def teampicker
     @groups = maketeams
+
+    @machines = Machine.limit(@groups.count).order(Arel.sql("RANDOM()"))
   end
 
   private
-    def random
-      Player.where("strikes < 4").order(Arel.sql("RANDOM()"))
-    end
-
     def maketeams
-      r = random.to_a
+      r = Player.where("strikes < 4").order(Arel.sql("RANDOM()")).to_a
 
-      case Player.count { |p| p.active? }
-      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
+      groups = case r.count
+        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