Sha256: 4d36f02e0eda2cb5d7f92f74108b62d875119ceea4acafd59cc73b622746e747

Contents?: true

Size: 1.06 KB

Versions: 3

Compression:

Stored size: 1.06 KB

Contents

require_relative 'storage_location_validator'
require_relative 'service_definition_validator'
require_relative 'service_mapping_validator'

module Longleaf
  # Validator for Longleaf application configuration
  class ApplicationConfigValidator < ConfigurationValidator
    # @param config [Hash] hash containing the application configuration
    def initialize(config)
      super(config)
    end

    protected
    # Validates the application configuration provided. Will raise ConfigurationError
    # if any portion of the configuration is not syntactically or semantically valid.
    def validate
      loc_result = StorageLocationValidator.new(@config).validate_config
      defs_result = ServiceDefinitionValidator.new(@config).validate_config
      mapping_result = ServiceMappingValidator.new(@config).validate_config

      @result.errors.concat(loc_result.errors) unless loc_result.valid?
      @result.errors.concat(defs_result.errors) unless defs_result.valid?
      @result.errors.concat(mapping_result.errors) unless mapping_result.valid?

      @result
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
longleaf-1.1.1 lib/longleaf/services/application_config_validator.rb
longleaf-1.1.0 lib/longleaf/services/application_config_validator.rb
longleaf-1.0.0 lib/longleaf/services/application_config_validator.rb