Module: PactBroker::Api::Resources::MetadataResourceMethods

Included in:
PactVersion, Verification, Verifications
Defined in:
lib/pact_broker/api/resources/metadata_resource_methods.rb

Instance Method Summary collapse

Instance Method Details

#consumer_versions_from_metadataObject



42
43
44
45
46
47
48
49
50
# File 'lib/pact_broker/api/resources/metadata_resource_methods.rb', line 42

def 
  @consumer_versions_from_metadata ||= begin
    if 
      .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_paramObject



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/pact_broker/api/resources/metadata_resource_methods.rb', line 14

def maybe_consumer_version_number_param
  if [:consumer_version_number]
    .slice(:consumer_version_number)
  elsif &.any?
    {
      consumer_version_number: .last&.number
    }
  else
    {}
  end
end

#metadataObject



26
27
28
# File 'lib/pact_broker/api/resources/metadata_resource_methods.rb', line 26

def 
  @metadata ||= PactBroker::Pacts::Metadata.(PactBrokerUrls.(identifier_from_path[:metadata]))
end

#metadata_consumer_version_numbersObject



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/pact_broker/api/resources/metadata_resource_methods.rb', line 30

def 
  @metadata_consumer_version_numbers ||= begin
    if [:consumer_version_selectors].is_a?(Array)
      [:consumer_version_selectors].collect{ | selector | selector[:consumer_version_number] }.compact.uniq
    elsif [:consumer_version_number]
      [[:consumer_version_number]]
    else
      nil
    end
  end
end

#pact_paramsObject



10
11
12
# 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