From 44b00a1ebbfeaa095343f55f6c12dcbc65b85924 Mon Sep 17 00:00:00 2001 From: Grzegorz Bizon Date: Fri, 17 Jun 2016 14:51:39 +0200 Subject: Extract CI entry config hash validation to validator --- lib/gitlab/ci/config/node/configurable.rb | 8 +------- lib/gitlab/ci/config/node/validators.rb | 8 ++++++++ .../ci/config/node/validators/array_of_strings_validator_spec.rb | 0 3 files changed, 9 insertions(+), 7 deletions(-) delete mode 100644 spec/lib/gitlab/ci/config/node/validators/array_of_strings_validator_spec.rb diff --git a/lib/gitlab/ci/config/node/configurable.rb b/lib/gitlab/ci/config/node/configurable.rb index 7b428c1362c..374ff71d0f5 100644 --- a/lib/gitlab/ci/config/node/configurable.rb +++ b/lib/gitlab/ci/config/node/configurable.rb @@ -19,13 +19,7 @@ module Gitlab included do validations do - validate :hash_config_value - - def hash_config_value - unless self.config.is_a?(Hash) - errors.add(:config, 'should be a configuration entry hash') - end - end + validates :config, hash: true end end diff --git a/lib/gitlab/ci/config/node/validators.rb b/lib/gitlab/ci/config/node/validators.rb index 36d48394a8c..dc9cdb9a220 100644 --- a/lib/gitlab/ci/config/node/validators.rb +++ b/lib/gitlab/ci/config/node/validators.rb @@ -12,6 +12,14 @@ module Gitlab end end end + + class HashValidator < ActiveModel::EachValidator + def validate_each(record, attribute, value) + unless value.is_a?(Hash) + record.errors.add(attribute, 'should be a configuration entry hash') + end + end + end end end end diff --git a/spec/lib/gitlab/ci/config/node/validators/array_of_strings_validator_spec.rb b/spec/lib/gitlab/ci/config/node/validators/array_of_strings_validator_spec.rb deleted file mode 100644 index e69de29bb2d..00000000000 -- cgit v1.2.1