diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gitlab/ci/config/entry/includes.rb | 2 | ||||
-rw-r--r-- | lib/gitlab/config/entry/validators.rb | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/gitlab/ci/config/entry/includes.rb b/lib/gitlab/ci/config/entry/includes.rb index 82b2b1ccf4b..43e74dfd628 100644 --- a/lib/gitlab/ci/config/entry/includes.rb +++ b/lib/gitlab/ci/config/entry/includes.rb @@ -11,7 +11,7 @@ module Gitlab include ::Gitlab::Config::Entry::Validatable validations do - validates :config, type: Array + validates :config, array_or_string: true end def self.aspects diff --git a/lib/gitlab/config/entry/validators.rb b/lib/gitlab/config/entry/validators.rb index 746fe83f90f..df34d254c65 100644 --- a/lib/gitlab/config/entry/validators.rb +++ b/lib/gitlab/config/entry/validators.rb @@ -54,6 +54,14 @@ module Gitlab end end + class ArrayOrStringValidator < ActiveModel::EachValidator + def validate_each(record, attribute, value) + unless value.is_a?(Array) || value.is_a?(String) + record.errors.add(attribute, 'should be an array or a string') + end + end + end + class BooleanValidator < ActiveModel::EachValidator include LegacyValidationHelpers |