Sha256: dee02eed8dd0602b4997769fb9bf7098eb5a90a4d1ac03602524c856ce928c44

Contents?: true

Size: 846 Bytes

Versions: 1

Compression:

Stored size: 846 Bytes

Contents

module Pacto
  class ValidationRegistry
    include Singleton
    include Logger
    attr_reader :validations

    def initialize
      @validations = []
    end

    def reset!
      @validations.clear
    end

    def validated?(request_pattern)
      matched_validations = @validations.select do |validation|
        request_pattern.matches? validation.request
      end
      matched_validations unless matched_validations.empty?
    end

    def register_validation(validation)
      @validations << validation
      logger.info "Detected #{validation.summary}"
      validation
    end

    def unmatched_validations
      @validations.select do |validation|
        validation.contract.nil?
      end
    end

    def failed_validations
      @validations.select do |validation|
        !validation.successful?
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
pacto-0.3.1 lib/pacto/core/validation_registry.rb