From eea26a93e7d4ac0c6fefe46592c9baa0d3e6a5cd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20Trzci=C5=84ski?= Date: Mon, 4 Jun 2018 14:06:07 +0200 Subject: Update validator --- config/initializers/direct_upload_support.rb | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'config') diff --git a/config/initializers/direct_upload_support.rb b/config/initializers/direct_upload_support.rb index 8ba1229415f..32fc8c8bc69 100644 --- a/config/initializers/direct_upload_support.rb +++ b/config/initializers/direct_upload_support.rb @@ -1,13 +1,19 @@ -SUPPORTED_DIRECT_UPLOAD_PROVIDERS = %w(Google AWS).freeze +class DirectUploadsValidator + SUPPORTED_DIRECT_UPLOAD_PROVIDERS = %w(Google AWS).freeze -def verify_provider_support!(object_store) - return unless object_store.enabled - return unless object_store.direct_upload - return if SUPPORTED_DIRECT_UPLOAD_PROVIDERS.include?(object_store.connection&.provider.to_s) + ValidationError = Class.new(StandardError) - raise "Only #{SUPPORTED_DIRECT_UPLOAD_PROVIDERS.join(',')} are supported as a object storage provider when 'direct_upload' is used" + def verify!(object_store) + return unless object_store.enabled + return unless object_store.direct_upload + return if SUPPORTED_DIRECT_UPLOAD_PROVIDERS.include?(object_store.connection&.provider.to_s) + + raise ValidationError, "Only #{SUPPORTED_DIRECT_UPLOAD_PROVIDERS.join(',')} are supported as a object storage provider when 'direct_upload' is used" + end end -verify_provider_support!(Gitlab.config.artifacts.object_store) -verify_provider_support!(Gitlab.config.uploads.object_store) -verify_provider_support!(Gitlab.config.lfs.object_store) +DirectUploadsValidator.new.tap do |validator| + [Gitlab.config.artifacts, Gitlab.config.uploads, Gitlab.config.lfs].each do |uploader| + validator.verify!(uploader.object_store) + end +end -- cgit v1.2.1