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