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
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