Class: WebIde::Settings::ExtensionMarketplaceMetadataValidator
- Inherits:
-
Object
- Object
- WebIde::Settings::ExtensionMarketplaceMetadataValidator
- Includes:
- Messages
- Defined in:
- lib/web_ide/settings/extension_marketplace_metadata_validator.rb
Constant Summary
Constants included from Messages
Messages::SettingsCurrentSettingsReadFailed, Messages::SettingsEnvironmentVariableOverrideFailed, Messages::SettingsGetSuccessful, Messages::SettingsVscodeExtensionMarketplaceMetadataValidationFailed, Messages::SettingsVscodeExtensionMarketplaceValidationFailed
Class Method Summary collapse
Class Method Details
.validate(context) ⇒ Gitlab::Fp::Result
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/web_ide/settings/extension_marketplace_metadata_validator.rb', line 10 def self.validate(context) unless context.fetch(:requested_setting_names).include?(:vscode_extension_marketplace_metadata) return Gitlab::Fp::Result.ok(context) end context => { settings: Hash => settings } settings => { vscode_extension_marketplace_metadata: Hash => } validatable_hash = make_hash_validatable_by_json_schemer() errors = validate_against_schema(validatable_hash) if errors.none? Gitlab::Fp::Result.ok(context) else Gitlab::Fp::Result.err( SettingsVscodeExtensionMarketplaceMetadataValidationFailed.new(details: errors.join(". ")) ) end end |