lib/pact_broker/api/resources/pact.rb in pact_broker-2.107.1 vs lib/pact_broker/api/resources/pact.rb in pact_broker-2.108.0
- old
+ new
@@ -7,18 +7,21 @@
require "pact_broker/pacts/pact_params"
require "pact_broker/api/contracts/put_pact_params_contract"
require "pact_broker/webhooks/execution_configuration"
require "pact_broker/api/resources/webhook_execution_methods"
require "pact_broker/api/resources/pact_resource_methods"
+require "pact_broker/api/resources/event_methods"
+require "pact_broker/integrations/event_listener"
module PactBroker
module Api
module Resources
class Pact < BaseResource
+ include EventMethods
include PacticipantResourceMethods
- include WebhookExecutionMethods
include PactResourceMethods
+ include WebhookExecutionMethods
include PactBroker::Messages
def content_types_provided
[
["application/hal+json", :to_json],
@@ -63,14 +66,16 @@
end
def from_json
response_code = pact ? 200 : 201
- handle_webhook_events do
- if request.patch? && resource_exists?
- @pact = pact_service.merge_pact(pact_params)
- else
- @pact = pact_service.create_or_update_pact(pact_params)
+ subscribe(PactBroker::Integrations::EventListener.new) do
+ handle_webhook_events do
+ if request.patch? && resource_exists?
+ @pact = pact_service.merge_pact(pact_params)
+ else
+ @pact = pact_service.create_or_update_pact(pact_params)
+ end
end
end
response.body = to_json
response_code
end