Sha256: ee24284b53016ba21cefde93969290c52564c8544aaf65f79501f8769e68fb28

Contents?: true

Size: 889 Bytes

Versions: 16

Compression:

Stored size: 889 Bytes

Contents

# frozen_string_literal: true

module Diffend
  # Module for all the components related to setting up the config
  module Config
    # Class responsible for validating the config from .diffend.yml
    module Validator
      class << self
        # @param config [OpenStruct] path of the current build
        def call(config)
          raise Errors::ProjectIdMissingInConfigurationFile if missing?(config, 'project_id')
          raise Errors::ShareableIdMissingInConfigurationFile if missing?(config, 'shareable_id')
          raise Errors::ShareableKeyMissingInConfigurationFile if missing?(config, 'shareable_key')
          raise Errors::BuildPathMissingInConfigurationFile if missing?(config, 'build_path')
        end

        private

        def missing?(config, key)
          config.public_send(key).nil? || config.public_send(key).empty?
        end
      end
    end
  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
diffend-monitor-0.2.31 lib/diffend/config/validator.rb
diffend-0.2.31 lib/diffend/config/validator.rb
diffend-monitor-0.2.30 lib/diffend/config/validator.rb
diffend-0.2.30 lib/diffend/config/validator.rb
diffend-0.2.29 lib/diffend/config/validator.rb
diffend-monitor-0.2.28 lib/diffend/config/validator.rb
diffend-0.2.28 lib/diffend/config/validator.rb
diffend-monitor-0.2.27 lib/diffend/config/validator.rb
diffend-0.2.27 lib/diffend/config/validator.rb
diffend-0.2.26 lib/diffend/config/validator.rb
diffend-0.2.25 lib/diffend/config/validator.rb
diffend-0.2.24 lib/diffend/config/validator.rb
diffend-0.2.23 lib/diffend/config/validator.rb
diffend-0.2.19 lib/diffend/config/validator.rb
diffend-0.2.18 lib/diffend/config/validator.rb
diffend-0.2.17 lib/diffend/config/validator.rb