From 5646f3f551fe133ff0726af00d435fab2509f1e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Tue, 4 Sep 2018 11:50:58 +0200 Subject: [PATCH] Improve model validation --- app/models/prometheus_metric.rb | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/app/models/prometheus_metric.rb b/app/models/prometheus_metric.rb index 9527c596088..dbb0fd19b74 100644 --- a/app/models/prometheus_metric.rb +++ b/app/models/prometheus_metric.rb @@ -23,7 +23,8 @@ class PrometheusMetric < ActiveRecord::Base validates :y_label, presence: true validates :unit, presence: true - validate :require_project + validates :project, presence: true, unless: :common? + validates :project, absence: true, if: :common? scope :common, -> { where(common: true) } @@ -85,14 +86,4 @@ class PrometheusMetric < ActiveRecord::Base } end end - - private - - def require_project - if project - errors.add(:project, "cannot be set if this is common metric") if common? - else - errors.add(:project, "has to be set when this is project-specific metric") unless common? - end - end end