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.79.1 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.79.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.78.1 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.78.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.77.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.76.2 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.76.1 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.76.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.75.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.74.1 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.74.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.73.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.72.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.71.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.70.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.69.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.68.1 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.68.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.67.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb
pact_broker-2.66.0 lib/pact_broker/api/contracts/put_pact_params_contract.rb