Class: PactBroker::Api::Resources::AllWebhooks

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

Instance Method Summary collapse

Instance Method Details

#allowed_methodsObject



20
21
22
# File 'lib/pact_broker/api/resources/all_webhooks.rb', line 20

def allowed_methods
  ["GET", "POST", "OPTIONS"]
end

#content_types_acceptedObject



16
17
18
# File 'lib/pact_broker/api/resources/all_webhooks.rb', line 16

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

#content_types_providedObject



12
13
14
# File 'lib/pact_broker/api/resources/all_webhooks.rb', line 12

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

#create_pathObject



24
25
26
# File 'lib/pact_broker/api/resources/all_webhooks.rb', line 24

def create_path
  webhook_url next_uuid, base_url
end

#from_jsonObject



43
44
45
46
# File 'lib/pact_broker/api/resources/all_webhooks.rb', line 43

def from_json
  saved_webhook = webhook_service.create(next_uuid, webhook, consumer, provider)
  response.body = decorator_class(:webhook_decorator).new(saved_webhook).to_json(decorator_options)
end

#malformed_request?Boolean

Returns:

  • (Boolean)


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

def malformed_request?
  if request.post?
    return invalid_json? || validation_errors?(webhook)
  end
  false
end

#policy_nameObject



48
49
50
# File 'lib/pact_broker/api/resources/all_webhooks.rb', line 48

def policy_name
  :'webhooks::webhooks'
end

#policy_recordObject



52
53
54
55
56
57
58
# File 'lib/pact_broker/api/resources/all_webhooks.rb', line 52

def policy_record
  if request.post?
    webhook
  else
    nil
  end
end

#post_is_create?Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/pact_broker/api/resources/all_webhooks.rb', line 28

def post_is_create?
  true
end

#to_jsonObject



39
40
41
# File 'lib/pact_broker/api/resources/all_webhooks.rb', line 39

def to_json
  decorator_class(:webhooks_decorator).new(webhooks).to_json(decorator_options(resource_title: "Webhooks"))
end