diff options
Diffstat (limited to 'lib/gitlab/config')
-rw-r--r-- | lib/gitlab/config/entry/attributable.rb | 4 | ||||
-rw-r--r-- | lib/gitlab/config/entry/validators.rb | 1 |
2 files changed, 5 insertions, 0 deletions
diff --git a/lib/gitlab/config/entry/attributable.rb b/lib/gitlab/config/entry/attributable.rb index c8ad2521574..2e5b226678a 100644 --- a/lib/gitlab/config/entry/attributable.rb +++ b/lib/gitlab/config/entry/attributable.rb @@ -24,6 +24,10 @@ module Gitlab define_method("has_#{attribute_method}?") do config.is_a?(Hash) && config.key?(attribute) end + + define_method("has_#{attribute_method}_value?") do + config.is_a?(Hash) && config.key?(attribute) && !config[attribute].nil? + end end end end diff --git a/lib/gitlab/config/entry/validators.rb b/lib/gitlab/config/entry/validators.rb index b88a6766d92..9e6a3d86e92 100644 --- a/lib/gitlab/config/entry/validators.rb +++ b/lib/gitlab/config/entry/validators.rb @@ -17,6 +17,7 @@ module Gitlab class DisallowedKeysValidator < ActiveModel::EachValidator def validate_each(record, attribute, value) + value = value.try(:compact) if options[:ignore_nil] present_keys = value.try(:keys).to_a & options[:in] if present_keys.any? |