Sha256: 32404e570fce580f1d2cf2def6c8e00ad03b5f2f82dea4cd86944bb40dc1d158

Contents?: true

Size: 1.15 KB

Versions: 36

Compression:

Stored size: 1.15 KB

Contents

require "pact_broker/api/contracts/base_contract"
require "uri"

module PactBroker
  module Api
    module Contracts
      class VerificationContract < BaseContract

        property :success
        property :provider_version, as: :providerApplicationVersion
        property :build_url, as: :buildUrl

        validation do
          configure do
            config.messages_file = File.expand_path("../../../locale/en.yml", __FILE__)

            def not_blank? value
              value && value.to_s.strip.size > 0
            end

            def valid_url? url
              URI(url)
            rescue URI::InvalidURIError, ArgumentError
              nil
            end

            def valid_version_number?(value)
              return true if PactBroker.configuration.order_versions_by_date

              parsed_version_number = PactBroker.configuration.version_parser.call(value)
              !!parsed_version_number
            end
          end

          required(:success).filled(:bool?)
          required(:provider_version) { not_blank? & valid_version_number? }
          optional(:build_url).maybe(:valid_url?)
        end
      end
    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
pact_broker-2.106.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.105.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.104.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.103.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.102.2 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.102.1 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.102.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.101.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.100.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.99.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.98.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.97.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.96.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.95.1 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.95.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.94.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.93.4 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.93.3 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.93.2 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.93.1 lib/pact_broker/api/contracts/verification_contract.rb