From f6dd8a5257bf71f87ea9a2fa2f3d16012e61b6e4 Mon Sep 17 00:00:00 2001
From: Grzegorz Bizon <grzesiek.bizon@gmail.com>
Date: Sat, 7 May 2016 20:36:03 +0200
Subject: [PATCH] Move runner validator to separate private method

---
 app/models/ci/runner.rb | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/app/models/ci/runner.rb b/app/models/ci/runner.rb
index f5813589492..cf4d3236519 100644
--- a/app/models/ci/runner.rb
+++ b/app/models/ci/runner.rb
@@ -26,12 +26,7 @@ module Ci
         .where("ci_runner_projects.gl_project_id = :project_id OR ci_runners.is_shared = true", project_id: project_id)
     end
 
-    validate do |runner|
-      unless runner.has_tags? || runner.run_untagged?
-        errors.add(:tags_list,
-          'can not be empty when runner is not allowed to pick untagged jobs')
-      end
-    end
+    validate :verify_tags_constraints
 
     acts_as_taggable
 
@@ -107,5 +102,14 @@ module Ci
     def has_tags?
       tag_list.any?
     end
+
+    private
+
+    def verify_tags_constraints
+      unless has_tags? || run_untagged?
+        errors.add(:tags_list,
+          'can not be empty when runner is not allowed to pick untagged jobs')
+      end
+    end
   end
 end
-- 
GitLab