summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-06-17 14:51:39 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-06-17 15:02:39 +0200
commit44b00a1ebbfeaa095343f55f6c12dcbc65b85924 (patch)
tree3f985694194243fe4a089b897341d8dba24a9843
parent2a87a55f8739ede196d856851217fd8686eb7634 (diff)
downloadgitlab-ce-44b00a1ebbfeaa095343f55f6c12dcbc65b85924.tar.gz
Extract CI entry config hash validation to validator
-rw-r--r--lib/gitlab/ci/config/node/configurable.rb8
-rw-r--r--lib/gitlab/ci/config/node/validators.rb8
-rw-r--r--spec/lib/gitlab/ci/config/node/validators/array_of_strings_validator_spec.rb0
3 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
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
--- a/spec/lib/gitlab/ci/config/node/validators/array_of_strings_validator_spec.rb
+++ /dev/null