class PactBroker::Pacts::Diff

Public Instance Methods

process(params, comparison_pact_params = nil, options = {}) click to toggle source
# File lib/pact_broker/pacts/diff.rb, line 15
def process(params, comparison_pact_params = nil, options = {})
  pact = find_pact(params)
  comparison_pact = comparison_pact_params ? find_pact(comparison_pact_params) : pact_repository.find_previous_distinct_pact(pact)

  if comparison_pact
    next_pact = pact_repository.find_next_pact(comparison_pact) || pact
    DiffDecorator.new(pact, comparison_pact, next_pact, params[:base_url], { raw: options[:raw] }).to_text
  else
    no_previous_version_message pact
  end
end

Private Instance Methods

find_pact(params) click to toggle source
# File lib/pact_broker/pacts/diff.rb, line 29
def find_pact(params)
  pact_repository.find_pact(params.consumer_name,
                            params.consumer_version_number,
                            params.provider_name,
                            params.pact_version_sha)
end
no_previous_version_message(pact) click to toggle source
# File lib/pact_broker/pacts/diff.rb, line 36
def no_previous_version_message(pact)
  "No previous distinct version was found for #{pact.name}"
end