diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/ci/config/node/configurable.rb | 8 | ||||
-rw-r--r-- | lib/gitlab/ci/config/node/validators.rb | 8 |
2 files changed, 9 insertions, 7 deletions
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 |