Sha256: f586eb3196662b0ea0918ba8c95dd7f06759d2e709843ada67903173c01ff290

Contents?: true

Size: 1.43 KB

Versions: 67

Compression:

Stored size: 1.43 KB

Contents

require 'pact_broker/api/contracts/base_contract'

module PactBroker
  module Api
    module Contracts
      class PutPacticipantNameContract < BaseContract
        property :name
        property :name_in_pact
        property :pacticipant
        property :message_args

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

          required(:name).maybe
          required(:name_in_pact).maybe

          rule(name_in_path_matches_name_in_pact?: [:name, :name_in_pact]) do |name, name_in_pact|
            name_in_pact.filled?.then(name.eql?(value(:name_in_pact)))
          end
        end
      end

      class PutPactParamsContract < BaseContract
        property :consumer_version_number
        property :consumer, form: PutPacticipantNameContract
        property :provider, form: PutPacticipantNameContract

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

            def valid_consumer_version_number?(value)
              return true if PactBroker.configuration.order_versions_by_date
              parsed_version_number = PactBroker.configuration.version_parser.call(value)
              !parsed_version_number.nil?
            end
          end

          required(:consumer_version_number).filled(:valid_consumer_version_number?)
        end
      end
    end
  end
end

Version data entries

67 entries across 67 versions & 1 rubygems

Version Path
pact_broker-2.65.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.64.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.63.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.62.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.61.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.60.1 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.60.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.59.2 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.59.1 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.59.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.58.3 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.58.2 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.58.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.57.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.56.1 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.56.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.55.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.54.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.53.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.52.2 lib/pact_broker/api/contracts/put_pact_params_contract.rb