Sha256: 39521addb5fbde2ace540ac4cdb67f8088afcf96d51a70dc36a68be743144a8c

Contents?: true

Size: 1.14 KB

Versions: 21

Compression:

Stored size: 1.14 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_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]

      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

21 entries across 21 versions & 1 rubygems

Version Path
pact_broker-2.109.1 lib/pact_broker/api/paths.rb
pact_broker-2.109.0 lib/pact_broker/api/paths.rb
pact_broker-2.108.0 lib/pact_broker/api/paths.rb
pact_broker-2.107.1 lib/pact_broker/api/paths.rb
pact_broker-2.107.0 lib/pact_broker/api/paths.rb
pact_broker-2.107.0.beta.1 lib/pact_broker/api/paths.rb
pact_broker-2.106.0 lib/pact_broker/api/paths.rb
pact_broker-2.105.0 lib/pact_broker/api/paths.rb
pact_broker-2.104.0 lib/pact_broker/api/paths.rb
pact_broker-2.103.0 lib/pact_broker/api/paths.rb
pact_broker-2.102.2 lib/pact_broker/api/paths.rb
pact_broker-2.102.1 lib/pact_broker/api/paths.rb
pact_broker-2.102.0 lib/pact_broker/api/paths.rb
pact_broker-2.101.0 lib/pact_broker/api/paths.rb
pact_broker-2.100.0 lib/pact_broker/api/paths.rb
pact_broker-2.99.0 lib/pact_broker/api/paths.rb
pact_broker-2.98.0 lib/pact_broker/api/paths.rb
pact_broker-2.97.0 lib/pact_broker/api/paths.rb
pact_broker-2.96.0 lib/pact_broker/api/paths.rb
pact_broker-2.95.1 lib/pact_broker/api/paths.rb