Class: PactBroker::Api::Resources::PublishContracts
Instance Method Summary
collapse
#finish_request, #handle_webhook_events, #schedule_triggered_webhooks
Instance Method Details
#allowed_methods ⇒ Object
21
22
23
|
# File 'lib/pact_broker/api/resources/publish_contracts.rb', line 21
def allowed_methods
["POST", "OPTIONS"]
end
|
#content_types_accepted ⇒ Object
17
18
19
|
# File 'lib/pact_broker/api/resources/publish_contracts.rb', line 17
def content_types_accepted
[["application/json"]]
end
|
#content_types_provided ⇒ Object
13
14
15
|
# File 'lib/pact_broker/api/resources/publish_contracts.rb', line 13
def content_types_provided
[["application/hal+json", :to_json]]
end
|
25
26
27
28
29
30
31
|
# File 'lib/pact_broker/api/resources/publish_contracts.rb', line 25
def malformed_request?
if request.post?
invalid_json? || validation_errors_for_schema?
else
false
end
end
|
#policy_name ⇒ Object
43
44
45
|
# File 'lib/pact_broker/api/resources/publish_contracts.rb', line 43
def policy_name
:'contracts::contracts'
end
|
#policy_record ⇒ Object
48
49
50
|
# File 'lib/pact_broker/api/resources/publish_contracts.rb', line 48
def policy_record
@policy_record ||= pacticipant_service.find_pacticipant_by_name(parsed_contracts.pacticipant_name)
end
|
#process_post ⇒ Object
33
34
35
36
37
38
39
40
41
|
# File 'lib/pact_broker/api/resources/publish_contracts.rb', line 33
def process_post
if conflict_notices.any?
set_conflict_response
409
else
publish_contracts
true
end
end
|