diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-19 12:08:42 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-08-19 12:08:42 +0300 |
commit | b76ae638462ab0f673e5915986070518dd3f9ad3 (patch) | |
tree | bdab0533383b52873be0ec0eb4d3c66598ff8b91 /lib/gitlab/config | |
parent | 434373eabe7b4be9593d18a585fb763f1e5f1a6f (diff) |
Add latest changes from gitlab-org/gitlab@14-2-stable-eev14.2.0-rc42
Diffstat (limited to 'lib/gitlab/config')
-rw-r--r-- | lib/gitlab/config/entry/validators.rb | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/lib/gitlab/config/entry/validators.rb b/lib/gitlab/config/entry/validators.rb index 8120f2c1243..13c6eaf4993 100644 --- a/lib/gitlab/config/entry/validators.rb +++ b/lib/gitlab/config/entry/validators.rb @@ -78,10 +78,26 @@ module Gitlab include LegacyValidationHelpers def validate_each(record, attribute, value) - unless value.is_a?(Array) && value.map { |hsh| hsh.is_a?(Hash) }.all? + unless validate_array_of_hashes(value) record.errors.add(attribute, 'should be an array of hashes') end end + + private + + def validate_array_of_hashes(value) + value.is_a?(Array) && value.all? { |obj| obj.is_a?(Hash) } + end + end + + class NestedArrayOfHashesValidator < ArrayOfHashesValidator + include NestedArrayHelpers + + def validate_each(record, attribute, value) + unless validate_nested_array(value, 1, &method(:validate_array_of_hashes)) + record.errors.add(attribute, 'should be an array containing hashes and arrays of hashes') + end + end end class ArrayOrStringValidator < ActiveModel::EachValidator |