Sha256: f7b5107ae3bdd5ff03df0804138b55c4e6e2b7803ee87e26ff5652a40c153e46

Contents?: true

Size: 1.15 KB

Versions: 33

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

33 entries across 33 versions & 1 rubygems

Version Path
pact_broker-2.79.1 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.79.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.78.1 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.78.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.77.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.76.2 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.76.1 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.76.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.75.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.74.1 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.74.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.73.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.72.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.71.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.70.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.69.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.68.1 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.68.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.67.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.66.0 lib/pact_broker/api/contracts/verification_contract.rb