class PactBroker::Api::Resources::Webhook
Public Instance Methods
action()
click to toggle source
Calls superclass method
# File lib/pact_broker/api/resources/webhook.rb, line 60 def action if request.put? webhook ? :update : :create else super end end
allowed_methods()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 21 def allowed_methods ["GET", "PUT", "DELETE", "OPTIONS"] end
content_types_accepted()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 13 def content_types_accepted [["application/json", :from_json]] end
content_types_provided()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 17 def content_types_provided [["application/hal+json", :to_json]] end
delete_resource()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 51 def delete_resource webhook_service.delete_by_uuid uuid true end
from_json()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 36 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
malformed_request?()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 29 def malformed_request? if request.put? return invalid_json? || webhook_validation_errors?(parsed_webhook, uuid) end false end
policy_name()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 56 def policy_name :'webhooks::webhook' end
policy_record()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 68 def policy_record webhook || parsed_webhook end
resource_exists?()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 25 def resource_exists? !!webhook end
to_json()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 47 def to_json decorator_class(:webhook_decorator).new(webhook).to_json(decorator_options) end
Private Instance Methods
parsed_webhook()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 78 def parsed_webhook @parsed_webhook ||= decorator_class(:webhook_decorator).new(PactBroker::Domain::Webhook.new).from_json(request_body) end
uuid()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 82 def uuid identifier_from_path[:uuid] end
webhook()
click to toggle source
# File lib/pact_broker/api/resources/webhook.rb, line 74 def webhook @webhook ||= webhook_service.find_by_uuid uuid end