module PactBroker::Api::PactBrokerUrls

Public Instance Methods

append_query_if_present(url, query) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 389
def append_query_if_present(url, query)
  if query && query.size > 0
    url + "?#{query}"
  else
    url
  end
end
badge_url_for_latest_pact(pact, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 306
def badge_url_for_latest_pact pact, base_url = ""
  "#{latest_pact_url(base_url, pact)}/badge.svg"
end
branch_version_url(branch_version, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 230
def branch_version_url(branch_version, base_url = "")
  "#{pacticipant_url(base_url, branch_version.pacticipant)}/branches/#{url_encode(branch_version.branch_name)}/versions/#{url_encode(branch_version.version_number)}"
end
consumer_webhooks_url(consumer, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 282
def consumer_webhooks_url consumer, base_url = ""
  "#{base_url}/webhooks/consumer/#{url_encode(consumer.name)}"
end
currently_deployed_versions_for_environment_url(environment, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 357
def currently_deployed_versions_for_environment_url(environment, base_url = "")
  "#{base_url}/environments/#{environment.uuid}/deployed-versions/currently-deployed"
end
currently_supported_versions_for_environment_url(environment, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 361
def currently_supported_versions_for_environment_url(environment, base_url = "")
  "#{base_url}/environments/#{environment.uuid}/released-versions/currently-supported"
end
dashboard_url_for_integration(consumer_name, provider_name, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 134
def dashboard_url_for_integration consumer_name, provider_name, base_url = ""
  "#{base_url}/dashboard/provider/#{url_encode(provider_name)}/consumer/#{url_encode(consumer_name)}"
end
decode_pact_metadata(metadata) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 87
def decode_pact_metadata(metadata)
  if metadata && metadata != ""
    parse_nested_metadata_query(base64_decode_metadata(metadata))
  else
    {}
  end
end
deployed_version_url(deployed_version, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 373
def deployed_version_url(deployed_version, base_url = "")
  "#{base_url}/deployed-versions/#{deployed_version.uuid}"
end
deployed_versions_for_version_and_environment_url(version, environment, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 353
def deployed_versions_for_version_and_environment_url(version, environment, base_url = "")
  "#{version_url(base_url, version)}/deployed-versions/environment/#{environment.uuid}"
end
encode_metadata(metadata) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 83
def encode_metadata(metadata)
  Base64.urlsafe_encode64(Rack::Utils.build_nested_query(metadata), padding: false)
end
environment_url(environment, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 349
def environment_url(environment, base_url = "")
  "#{environments_url(base_url)}/#{environment.uuid}"
end
environments_url(base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 345
def environments_url(base_url = "")
  "#{base_url}/environments"
end
group_url(pacticipant_name, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 341
def group_url(pacticipant_name, base_url = "")
  "#{base_url}/pacticipants/#{url_encode(pacticipant_name)}"
end
hal_browser_url(target_url, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 381
def hal_browser_url target_url, base_url = ""
  "#{base_url}/hal-browser/browser.html#" + target_url
end
integration_url(consumer_name, provider_name, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 130
def integration_url consumer_name, provider_name, base_url = ""
  "#{base_url}/integrations/provider/#{url_encode(provider_name)}/consumer/#{url_encode(consumer_name)}"
end
label_url(label, base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 258
def label_url label, base_url
  "#{labels_url(label.pacticipant, base_url)}/#{url_encode(label.name)}"
end
labels_url(pacticipant, base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 262
def labels_url pacticipant, base_url
  "#{pacticipant_url(base_url, pacticipant)}/labels"
end
latest_pact_url(base_url, pact) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 102
def latest_pact_url base_url, pact
  "#{pactigration_base_url(base_url, pact)}/latest"
end
latest_pacts_url(base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 114
def latest_pacts_url base_url
  "#{base_url}/pacts/latest"
end
latest_tagged_pact_url(pact, tag_name, base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 110
def latest_tagged_pact_url pact, tag_name, base_url
  "#{latest_pact_url(base_url, pact)}/#{url_encode(tag_name)}"
end
latest_untagged_pact_url(pact, base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 106
def latest_untagged_pact_url pact, base_url
  "#{pactigration_base_url(base_url, pact)}/latest-untagged"
end
latest_verification_for_pact_url(pact, base_url, permalink = true) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 201
def latest_verification_for_pact_url pact, base_url, permalink = true
  if permalink
    verification_url_from_params(
      {
        provider_name: provider_name(pact),
        consumer_name: consumer_name(pact),
        pact_version_sha: pact.pact_version_sha,
        verification_number: "latest"
      },
      base_url
    )
  else
    pact_url(base_url, pact) + "/verification-results/latest"
  end
end
latest_verifications_for_consumer_version_url(version, base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 197
def latest_verifications_for_consumer_version_url version, base_url
  "#{base_url}/verification-results/consumer/#{url_encode(version.pacticipant.name)}/version/#{url_encode(version.number)}/latest"
end
latest_version_url(base_url, pacticipant) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 37
def latest_version_url base_url, pacticipant
  "#{pacticipant_url(base_url, pacticipant)}/versions/latest"
end
matrix_badge_url_for_selectors(consumer_selector, provider_selector, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 314
def matrix_badge_url_for_selectors consumer_selector, provider_selector, base_url = ""
  "#{base_url}/matrix/provider/#{url_encode(provider_selector.pacticipant_name)}/latest/#{url_encode(provider_selector.tag)}/consumer/#{url_encode(consumer_selector.pacticipant_name)}/latest/#{url_encode(consumer_selector.tag)}/badge.svg"
end
matrix_for_pact_url(pact, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 326
def matrix_for_pact_url(pact, base_url = "")
  query = {
    q: [
      { pacticipant: pact.consumer_name, version: pact.consumer_version_number },
      { pacticipant: pact.provider_name, latest: true }
    ],
    latestby: "cvpv"
  }
  "#{base_url}/matrix?#{Rack::Utils.build_nested_query(query)}"
end
matrix_for_pacticipant_version_url(version, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 318
def matrix_for_pacticipant_version_url(version, base_url = "")
  query = {
    q: [{ pacticipant: version.pacticipant.name, version: version.number }],
    latestby: "cvpv"
  }
  "#{base_url}/matrix?#{Rack::Utils.build_nested_query(query)}"
end
matrix_url(consumer_name, provider_name, _base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 310
def matrix_url consumer_name, provider_name, _base_url = ""
  "/matrix/provider/#{url_encode(provider_name)}/consumer/#{url_encode(consumer_name)}"
end
matrix_url_from_params(params, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 337
def matrix_url_from_params params, base_url = ""
  matrix_url(params.fetch(:consumer_name), params.fetch(:provider_name), base_url)
end
new_verification_url(pact, number, base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 154
def new_verification_url pact, number, base_url
  [ base_url, "pacts",
    "provider", url_encode(pact.provider_name),
    "consumer", url_encode(pact.consumer_name),
    "pact-version", pact.pact_version_sha,
    "verification-results", number
  ].join("/")
end
pact_triggered_webhooks_url(pact, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 298
def pact_triggered_webhooks_url pact, base_url = ""
  "#{pact_url(base_url, pact)}/triggered-webhooks"
end
pact_url(base_url, pact) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 59
def pact_url base_url, pact
  "#{pactigration_base_url(base_url, pact)}/version/#{url_encode(pact.consumer_version_number)}"
end
pact_url_from_params(base_url, params) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 95
def pact_url_from_params base_url, params
  [ base_url, "pacts",
    "provider", url_encode(params[:provider_name]),
    "consumer", url_encode(params[:consumer_name]),
    "version", url_encode(params[:consumer_version_number]) ].join("/")
end
pact_version_url(pact, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 63
def pact_version_url pact, base_url = ""
  "#{pactigration_base_url(base_url, pact)}/pact-version/#{pact.pact_version_sha}"
end
pact_version_url_with_metadata(pact, metadata, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 71
def pact_version_url_with_metadata pact, metadata, base_url = ""
  if metadata && metadata.any?
    "#{pact_version_url(pact, base_url)}/metadata/#{encode_metadata(metadata)}"
  else
    pact_version_url(pact, base_url)
  end
end
pact_version_url_with_webhook_metadata(pact, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 79
def pact_version_url_with_webhook_metadata pact, base_url = ""
  pact_version_url_with_metadata(pact, build_metadata_for_webhook_triggered_by_pact_publication(pact), base_url)
end
pact_version_with_consumer_version_metadata_url(pact, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 67
def pact_version_with_consumer_version_metadata_url pact, base_url = ""
  "#{pactigration_base_url(base_url, pact)}/pact-version/#{pact.pact_version_sha}/metadata/#{encode_metadata(build_metadata_for_consumer_version_number(pact.consumer_version_number))}"
end
pact_versions_for_branch_url(consumer_name, provider_name, branch_name, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 126
def pact_versions_for_branch_url consumer_name, provider_name, branch_name, base_url = ""
  "#{base_url}/pacts/provider/#{url_encode(provider_name)}/consumer/#{url_encode(consumer_name)}/branch/#{url_encode(branch_name)}"
end
pact_versions_url(consumer_name, provider_name, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 118
def pact_versions_url consumer_name, provider_name, base_url = ""
  "#{base_url}/pacts/provider/#{url_encode(provider_name)}/consumer/#{url_encode(consumer_name)}/versions"
end
pacticipant_url(base_url, pacticipant) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 21
def pacticipant_url base_url, pacticipant
  "#{pacticipants_url(base_url)}/#{url_encode(pacticipant.name)}"
end
pacticipant_url_from_params(params, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 29
def pacticipant_url_from_params params, base_url = ""
  [
    base_url,
    "pacticipants",
    url_encode(params.fetch(:pacticipant_name))
  ].join("/")
end
pacticipants_url(base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 17
def pacticipants_url base_url
  "#{base_url}/pacticipants"
end
pacticipants_with_label_url(base_url, label_name) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 25
def pacticipants_with_label_url base_url, label_name
  "#{pacticipants_url(base_url)}/label/#{url_encode(label_name)}"
end
previous_distinct_diff_url(pact, base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 138
def previous_distinct_diff_url pact, base_url
  pact_url(base_url, pact) + "/diff/previous-distinct"
end
previous_distinct_pact_version_url(pact, base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 146
def previous_distinct_pact_version_url pact, base_url
  pact_url(base_url, pact) + "/previous-distinct"
end
provider_webhooks_url(provider, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 286
def provider_webhooks_url provider, base_url = ""
  "#{base_url}/webhooks/provider/#{url_encode(provider.name)}"
end
record_undeployment_url(deployed_version, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 365
def record_undeployment_url(deployed_version, base_url = "")
  "#{deployed_version_url(deployed_version, base_url)}/record-undeployment"
end
released_version_url(released_version, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 377
def released_version_url(released_version, base_url = "")
  "#{base_url}/released-versions/#{released_version.uuid}"
end
released_versions_for_version_and_environment_url(version, environment, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 369
def released_versions_for_version_and_environment_url(version, environment, base_url = "")
  "#{version_url(base_url, version)}/released-versions/environment/#{environment.uuid}"
end
tag_url(base_url, tag) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 226
def tag_url base_url, tag
  "#{tags_url(base_url, tag.version)}/#{url_encode(tag.name)}"
end
tagged_pact_versions_url(consumer_name, provider_name, tag, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 122
def tagged_pact_versions_url consumer_name, provider_name, tag, base_url = ""
  "#{base_url}/pacts/provider/#{url_encode(provider_name)}/consumer/#{url_encode(consumer_name)}/tag/#{url_encode(tag)}"
end
tags_url(base_url, version) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 150
def tags_url base_url, version
  "#{version_url(base_url, version)}/tags"
end
templated_branch_version_url_for_pacticipant(pacticipant_name, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 238
def templated_branch_version_url_for_pacticipant pacticipant_name, base_url = ""
  pacticipant_url_from_params({ pacticipant_name: pacticipant_name }, base_url) + "/branches/{branch}/versions/{version}"
end
templated_can_i_deploy_badge_url(pacticipant_name, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 254
def templated_can_i_deploy_badge_url pacticipant_name, base_url = ""
  templated_can_i_deploy_url(pacticipant_name, base_url) + "/badge"
end
templated_can_i_deploy_url(pacticipant_name, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 250
def templated_can_i_deploy_url pacticipant_name, base_url = ""
  pacticipant_url_from_params({ pacticipant_name: pacticipant_name }, base_url) + "/latest-version/{tag}/can-i-deploy/to/{environmentTag}"
end
templated_diff_url(pact, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 142
def templated_diff_url pact, base_url = ""
  pact_version_url(pact, base_url) + "/diff/pact-version/{pactVersion}"
end
templated_label_url_for_pacticipant(pacticipant_name, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 246
def templated_label_url_for_pacticipant pacticipant_name, base_url = ""
  pacticipant_url_from_params({ pacticipant_name: pacticipant_name }, base_url) + "/labels/{label}"
end
templated_tag_url_for_pacticipant(pacticipant_name, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 234
def templated_tag_url_for_pacticipant pacticipant_name, base_url = ""
  pacticipant_url_from_params({ pacticipant_name: pacticipant_name }, base_url) + "/versions/{version}/tags/{tag}"
end
templated_version_url_for_pacticipant(pacticipant_name, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 242
def templated_version_url_for_pacticipant pacticipant_name, base_url = ""
  pacticipant_url_from_params({ pacticipant_name: pacticipant_name }, base_url) + "/versions/{version}"
end
triggered_webhook_logs_url(triggered_webhook, base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 302
def triggered_webhook_logs_url triggered_webhook, base_url
  "#{base_url}/triggered-webhooks/#{triggered_webhook.uuid}/logs"
end
url_encode(param) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 385
def url_encode param
  ERB::Util.url_encode param
end
verification_publication_url(pact, base_url, metadata = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 221
def verification_publication_url pact, base_url, metadata = ""
  metadata_part = metadata ? "/metadata/#{metadata}" : ""
  "#{pactigration_base_url(base_url, pact)}/pact-version/#{pact.pact_version_sha}#{metadata_part}/verification-results"
end
verification_triggered_webhooks_url(verification, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 217
def verification_triggered_webhooks_url verification, base_url = ""
  "#{verification_url(verification, base_url)}/triggered-webhooks"
end
verification_url(verification, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 163
def verification_url verification, base_url = ""
  [ base_url, "pacts",
    "provider", url_encode(verification.provider_name),
    "consumer", url_encode(verification.consumer_name),
    "pact-version", verification.pact_version_sha,
    "verification-results", verification.number
  ].join("/")
end
verification_url_from_params(params, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 172
def verification_url_from_params params, base_url = ""
  if params[:consumer_version_number]
    metadata = encode_metadata(build_metadata_for_consumer_version_number(params[:consumer_version_number]))

    [
      base_url,
      "pacts",
      "provider", url_encode(params.fetch(:provider_name)),
      "consumer", url_encode(params.fetch(:consumer_name)),
      "pact-version", params.fetch(:pact_version_sha),
      "metadata", metadata,
      "verification-results", params.fetch(:verification_number)
    ].join("/")
  else
    [
      base_url,
      "pacts",
      "provider", url_encode(params.fetch(:provider_name)),
      "consumer", url_encode(params.fetch(:consumer_name)),
      "pact-version", params.fetch(:pact_version_sha),
      "verification-results", params.fetch(:verification_number)
    ].join("/")
  end
end
version_url(base_url, version) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 45
def version_url base_url, version
  "#{pacticipant_url(base_url, version.pacticipant)}/versions/#{url_encode(version.number)}"
end
version_url_from_params(params, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 49
def version_url_from_params params, base_url = ""
  [
    base_url,
    "pacticipants",
    url_encode(params.fetch(:pacticipant_name)),
    "versions",
    url_encode(params.fetch(:version_number)),
  ].join("/")
end
versions_url(base_url, pacticipant) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 41
def versions_url base_url, pacticipant
  "#{pacticipant_url(base_url, pacticipant)}/versions"
end
webhook_execution_url(webhook, base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 274
def webhook_execution_url webhook, base_url
  "#{base_url}/webhooks/#{webhook.uuid}/execute"
end
webhook_url(uuid, base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 270
def webhook_url uuid, base_url
  "#{base_url}/webhooks/#{uuid}"
end
webhooks_for_consumer_and_provider_url(consumer, provider, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 278
def webhooks_for_consumer_and_provider_url consumer, provider, base_url = ""
  "#{base_url}/webhooks/provider/#{url_encode(provider.name)}/consumer/#{url_encode(consumer.name)}"
end
webhooks_for_pact_url(consumer, provider, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 290
def webhooks_for_pact_url consumer, provider, base_url = ""
  "#{base_url}/pacts/provider/#{url_encode(provider.name)}/consumer/#{url_encode(consumer.name)}/webhooks"
end
webhooks_status_url(consumer, provider, base_url = "") click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 294
def webhooks_status_url consumer, provider, base_url = ""
  "#{webhooks_for_pact_url(consumer, provider, base_url)}/status"
end
webhooks_url(base_url) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 266
def webhooks_url base_url
  "#{base_url}/webhooks"
end

Private Instance Methods

base64_decode_metadata(metadata) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 440
def base64_decode_metadata(metadata)
  # Some people remove the == padding on the end
  Base64.urlsafe_decode64(metadata)
rescue StandardError => e
  begin
    logger.warn("Exception parsing webhook metadata: '#{metadata}'. Parsing using Base64.decode64 returns '#{Base64.decode64(metadata)}'", e)
    Base64.decode64(metadata)
  rescue
    ""
  end
end
consumer_name(thing) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 416
def consumer_name(thing)
  if thing.respond_to?(:consumer_name)
    thing.consumer_name
  elsif thing.respond_to?(:consumer)
    thing.consumer.name
  elsif thing.respond_to?(:[])
    thing[:consumer_name]
  else
    nil
  end
end
pactigration_base_url(base_url, pact) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 403
def pactigration_base_url base_url, pact
  provider_name = pact.respond_to?(:provider_name) ? pact.provider_name : pact.provider.name
  consumer_name = pact.respond_to?(:consumer_name) ? pact.consumer_name : pact.consumer.name
  "#{base_url}/pacts/provider/#{url_encode(provider_name)}/consumer/#{url_encode(consumer_name)}"
end
pactigration_base_url_from_params(base_url, params) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 409
def pactigration_base_url_from_params base_url, params
  [ base_url, "pacts",
    "provider", url_encode(params[:provider_name]),
    "consumer", url_encode(params[:consumer_name])
  ].join("/")
end
parse_nested_metadata_query(query) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 452
def parse_nested_metadata_query(query)
  begin
    Rack::Utils.parse_nested_query(query)
  rescue StandardError => e
    logger.warn("Could not parse query: '#{query}'", e)
    {}
  end
end
provider_name(thing) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 428
def provider_name(thing)
  if thing.respond_to?(:provider_name)
    thing.provider_name
  elsif thing.respond_to?(:provider)
    thing.provider.name
  elsif thing.respond_to?(:[])
    thing[:provider_name]
  else
    nil
  end
end
representable_pact(pact) click to toggle source
# File lib/pact_broker/api/pact_broker_urls.rb, line 399
def representable_pact pact
  Decorators::RepresentablePact === pact ? pact : Decorators::RepresentablePact.new(pact)
end