module PactBroker::Api::Resources::MetadataResourceMethods

Public Instance Methods

consumer_versions_from_metadata() click to toggle source
# File lib/pact_broker/api/resources/metadata_resource_methods.rb, line 42
def consumer_versions_from_metadata
  @consumer_versions_from_metadata ||= begin
    if metadata_consumer_version_numbers
      metadata_consumer_version_numbers.collect do | consumer_version_number |
        version_service.find_by_pacticipant_name_and_number(pacticipant_name: identifier_from_path[:consumer_name], pacticipant_version_number: consumer_version_number)
      end.compact.sort_by(&:order)
    end
  end
end
maybe_consumer_version_number_param() click to toggle source
# File lib/pact_broker/api/resources/metadata_resource_methods.rb, line 14
def maybe_consumer_version_number_param
  if metadata[:consumer_version_number]
    metadata.slice(:consumer_version_number)
  elsif metadata_consumer_version_numbers&.any?
    {
      consumer_version_number: consumer_versions_from_metadata.last&.number
    }
  else
    {}
  end
end
metadata() click to toggle source
# File lib/pact_broker/api/resources/metadata_resource_methods.rb, line 26
def metadata
  @metadata ||= PactBroker::Pacts::Metadata.parse_metadata(PactBrokerUrls.decode_pact_metadata(identifier_from_path[:metadata]))
end
metadata_consumer_version_numbers() click to toggle source
# File lib/pact_broker/api/resources/metadata_resource_methods.rb, line 30
def metadata_consumer_version_numbers
  @metadata_consumer_version_numbers ||= begin
    if metadata[:consumer_version_selectors].is_a?(Array)
      metadata[:consumer_version_selectors].collect{ | selector | selector[:consumer_version_number] }.compact.uniq
    elsif metadata[:consumer_version_number]
      [metadata[:consumer_version_number]]
    else
      nil
    end
  end
end
pact_params() click to toggle source
# File lib/pact_broker/api/resources/metadata_resource_methods.rb, line 10
def pact_params
  @pact_params ||= PactBroker::Pacts::PactParams.from_request(request, maybe_consumer_version_number_param.merge(identifier_from_path))
end