Commit 3c82cc5b4dea43024fd8d2946a53719500a5b5f6
Committed by
Rafael Manzo
1 parent
c7a946fa
Exists in
colab
and in
4 other branches
Created validator for compound metric configurations name and script fields
Signed off by: Heitor Reis <marcheing@gmail.com>
Showing
2 changed files
with
12 additions
and
0 deletions
Show diff stats
app/models/metric_configuration.rb
| 1 | 1 | require "validators/code_uniqueness_validator.rb" |
| 2 | +require "validators/name_script_presence_validator.rb" | |
| 2 | 3 | |
| 3 | 4 | class MetricConfiguration < KalibroGatekeeperClient::Entities::MetricConfiguration |
| 4 | 5 | include KalibroRecord |
| ... | ... | @@ -8,6 +9,7 @@ class MetricConfiguration < KalibroGatekeeperClient::Entities::MetricConfigurati |
| 8 | 9 | validates :code, presence: true, code_uniqueness: true |
| 9 | 10 | validates :weight, presence: true, numericality: { greater_than: 0 } |
| 10 | 11 | validates :aggregation_form, presence: true, unless: "metric.compound == true" |
| 12 | + validates_with NameScriptPresenceValidator, unless: "metric.compound == false" | |
| 11 | 13 | |
| 12 | 14 | def mezuro_ranges |
| 13 | 15 | MezuroRange.ranges_of self.id | ... | ... |
| ... | ... | @@ -0,0 +1,10 @@ |
| 1 | +class NameScriptPresenceValidator < ActiveModel::Validator | |
| 2 | + def validate(record) | |
| 3 | + if record.metric.name.empty? | |
| 4 | + record.errors[:name] << "can't be blank" | |
| 5 | + end | |
| 6 | + if record.metric.script.empty? | |
| 7 | + record.errors[:script] << "can't be blank" | |
| 8 | + end | |
| 9 | + end | |
| 10 | +end | ... | ... |