Sha256: 4fd13e686b8806131e2a2584b852964c276fd48771c5da2aee55fcc5892c3056

Contents?: true

Size: 1.04 KB

Versions: 57

Compression:

Stored size: 1.04 KB

Contents

require 'reform'
require 'reform/form'
require 'uri'

module PactBroker
  module Api
    module Contracts
      class VerificationContract < Reform::Form

        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
              nil
            end

            def valid_version_number?(value)
              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

57 entries across 57 versions & 1 rubygems

Version Path
pact_broker-2.26.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.25.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.24.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.23.4 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.23.3 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.23.2 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.23.1 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.23.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.22.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.21.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.20.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.19.2 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.19.1 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.19.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.18.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.17.1 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.17.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.16.1 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.16.0 lib/pact_broker/api/contracts/verification_contract.rb
pact_broker-2.15.0 lib/pact_broker/api/contracts/verification_contract.rb