Class: PactBroker::Api::Resources::Webhook

Inherits:
BaseResource
  • Object
show all
Includes:
WebhookResourceMethods
Defined in:
lib/pact_broker/api/resources/webhook.rb

Instance Method Summary collapse

Methods included from WebhookResourceMethods

#webhook_validation_errors?

Instance Method Details

#allowed_methodsObject



21
22
23
# File 'lib/pact_broker/api/resources/webhook.rb', line 21

def allowed_methods
  ["GET", "PUT", "DELETE", "OPTIONS"]
end

#content_types_acceptedObject



13
14
15
# File 'lib/pact_broker/api/resources/webhook.rb', line 13

def content_types_accepted
  [["application/json", :from_json]]
end

#content_types_providedObject



17
18
19
# File 'lib/pact_broker/api/resources/webhook.rb', line 17

def content_types_provided
  [["application/hal+json", :to_json]]
end

#delete_resourceObject



55
56
57
58
# File 'lib/pact_broker/api/resources/webhook.rb', line 55

def delete_resource
  webhook_service.delete_by_uuid uuid
  true
end

#from_jsonObject



40
41
42
43
44
45
46
47
48
49
# File 'lib/pact_broker/api/resources/webhook.rb', line 40

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

Returns:

  • (Boolean)


33
34
35
36
37
38
# File 'lib/pact_broker/api/resources/webhook.rb', line 33

def malformed_request?
  if request.put?
    return invalid_json? || webhook_validation_errors?(parsed_webhook, uuid)
  end
  false
end

#policy_nameObject



60
61
62
# File 'lib/pact_broker/api/resources/webhook.rb', line 60

def policy_name
  :'webhooks::webhook'
end

#resource_exists?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/pact_broker/api/resources/webhook.rb', line 25

def resource_exists?
  !!resource_object
end

#resource_objectObject



29
30
31
# File 'lib/pact_broker/api/resources/webhook.rb', line 29

def resource_object
  webhook
end

#to_jsonObject



51
52
53
# File 'lib/pact_broker/api/resources/webhook.rb', line 51

def to_json
  Decorators::WebhookDecorator.new(webhook).to_json(decorator_options)
end