class PactBroker::Api::Resources::Webhook
Public Instance Methods
Source
# File lib/pact_broker/api/resources/webhook.rb, line 58 def action if request.put? webhook ? :update : :create else super end end
Calls superclass method
PactBroker::Api::Resources::Authorization#action
Source
# File lib/pact_broker/api/resources/webhook.rb, line 18 def allowed_methods ["GET", "PUT", "DELETE", "OPTIONS"] end
Source
# File lib/pact_broker/api/resources/webhook.rb, line 10 def content_types_accepted [["application/json", :from_json]] end
Source
# File lib/pact_broker/api/resources/webhook.rb, line 14 def content_types_provided [["application/hal+json", :to_json]] end
Source
# File lib/pact_broker/api/resources/webhook.rb, line 49 def delete_resource webhook_service.delete_by_uuid uuid true end
Source
# File lib/pact_broker/api/resources/webhook.rb, line 34 def from_json if webhook @webhook = webhook_service.update_by_uuid(uuid, params(symbolize_names: false)) response.body = to_json else @webhook = webhook_service.create(uuid, parsed_webhook, consumer, provider) response.body = to_json 201 end end
Source
# File lib/pact_broker/api/resources/webhook.rb, line 30 def malformed_request? super || (request.put? && validation_errors_for_schema?(schema, { uuid: uuid }.compact.merge(params))) end
Calls superclass method
PactBroker::Api::Resources::BaseResource#malformed_request?
Source
# File lib/pact_broker/api/resources/webhook.rb, line 54 def policy_name :'webhooks::webhook' end
Source
# File lib/pact_broker/api/resources/webhook.rb, line 66 def policy_record webhook || parsed_webhook end
Source
# File lib/pact_broker/api/resources/webhook.rb, line 22 def put_can_create? true end
Source
# File lib/pact_broker/api/resources/webhook.rb, line 26 def resource_exists? !!webhook end
Source
# File lib/pact_broker/api/resources/webhook.rb, line 45 def to_json decorator_class(:webhook_decorator).new(webhook).to_json(**decorator_options) end
Private Instance Methods
Source
# File lib/pact_broker/api/resources/webhook.rb, line 76 def parsed_webhook @parsed_webhook ||= decorator_class(:webhook_decorator).new(PactBroker::Domain::Webhook.new).from_json(request_body) end
Source
# File lib/pact_broker/api/resources/webhook.rb, line 80 def schema api_contract_class(:webhook_contract) end
Source
# File lib/pact_broker/api/resources/webhook.rb, line 84 def uuid identifier_from_path[:uuid] end
Source
# File lib/pact_broker/api/resources/webhook.rb, line 72 def webhook @webhook ||= webhook_service.find_by_uuid uuid end