Sha256: f27d28c85929bc7c95804fa5cec46677a0b4c2b5d4f8882ac3c0ae5f4234e044

Contents?: true

Size: 1.27 KB

Versions: 6

Compression:

Stored size: 1.27 KB

Contents

module PactBroker
  module Api
    module Paths
      PACT_BADGE_PATH =         %r{^/pacts/provider/[^/]+/consumer/.*/badge(?:\.[A-Za-z]+)?$}.freeze
      MATRIX_BADGE_PATH =       %r{^/matrix/provider/[^/]+/latest/[^/]+/consumer/[^/]+/latest/[^/]+/badge(?:\.[A-Za-z]+)?$}.freeze
      CAN_I_MERGE_BADGE_PATH = %r{^/pacticipants/[^/]+/main-branch/can-i-merge/badge(?:\.[A-Za-z]+)?$}.freeze
      CAN_I_DEPLOY_TAG_BADGE_PATH = %r{^/pacticipants/[^/]+/latest-version/[^/]+/can-i-deploy/to/[^/]+/badge(?:\.[A-Za-z]+)?$}.freeze
      CAN_I_DEPLOY_BRANCH_ENV_BADGE_PATH = %r{^/pacticipants/[^/]+/branches/[^/]+/latest-version/can-i-deploy/to-environment/[^/]+/badge(?:\.[A-Za-z]+)?$}.freeze
      VERIFICATION_RESULTS =    %r{^/pacts/provider/[^/]+/consumer/[^/]+/pact-version/[^/]+/verification-results/[^/]+}

      BADGE_PATHS = [PACT_BADGE_PATH, MATRIX_BADGE_PATH, CAN_I_DEPLOY_TAG_BADGE_PATH, CAN_I_DEPLOY_BRANCH_ENV_BADGE_PATH, CAN_I_MERGE_BADGE_PATH]

      extend self

      def is_verification_results_path?(path)
        path.start_with?("/pacts") && (path =~ VERIFICATION_RESULTS)
      end

      def is_badge_path?(path)
        # Optimise by checking include? first - regexp slow
        path.include?("/badge") && BADGE_PATHS.any?{ | regex | path =~ regex }
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pact_broker-2.114.0 lib/pact_broker/api/paths.rb
pact_broker-2.113.2 lib/pact_broker/api/paths.rb
pact_broker-2.113.1 lib/pact_broker/api/paths.rb
pact_broker-2.113.0 lib/pact_broker/api/paths.rb
pact_broker-2.112.0 lib/pact_broker/api/paths.rb
pact_broker-2.111.0 lib/pact_broker/api/paths.rb