Class: PactBroker::Domain::Webhook
- Inherits:
-
Object
- Object
- PactBroker::Domain::Webhook
- Defined in:
- lib/pact_broker/domain/webhook.rb
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
-
#consumer ⇒ Object
request is actually a request_template.
-
#created_at ⇒ Object
request is actually a request_template.
-
#description ⇒ Object
request is actually a request_template.
-
#enabled ⇒ Object
request is actually a request_template.
-
#events ⇒ Object
request is actually a request_template.
-
#provider ⇒ Object
request is actually a request_template.
-
#request ⇒ Object
request is actually a request_template.
-
#updated_at ⇒ Object
request is actually a request_template.
-
#uuid ⇒ Object
request is actually a request_template.
Instance Method Summary collapse
- #consumer_name ⇒ Object
- #display_description ⇒ Object
- #execute(pact, verification, event_context, options) ⇒ Object
-
#initialize(attributes = {}) ⇒ Webhook
constructor
A new instance of Webhook.
- #provider_name ⇒ Object
- #request_description ⇒ Object
- #scope_description ⇒ Object
- #to_s ⇒ Object
- #trigger_on_contract_content_changed? ⇒ Boolean
- #trigger_on_provider_verification_failed? ⇒ Boolean
- #trigger_on_provider_verification_published? ⇒ Boolean
- #trigger_on_provider_verification_succeeded? ⇒ Boolean
Methods included from Logging
Methods included from Messages
#message, #potential_duplicate_pacticipant_message, #validation_message
Constructor Details
#initialize(attributes = {}) ⇒ Webhook
Returns a new instance of Webhook.
18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/pact_broker/domain/webhook.rb', line 18 def initialize attributes = {} @attributes = attributes @uuid = attributes[:uuid] @description = attributes[:description] @request = attributes[:request] @consumer = attributes[:consumer] @provider = attributes[:provider] @events = attributes[:events] @enabled = attributes[:enabled] @created_at = attributes[:created_at] @updated_at = attributes[:updated_at] end |
Instance Attribute Details
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
16 17 18 |
# File 'lib/pact_broker/domain/webhook.rb', line 16 def attributes @attributes end |
#consumer ⇒ Object
request is actually a request_template
15 16 17 |
# File 'lib/pact_broker/domain/webhook.rb', line 15 def consumer @consumer end |
#created_at ⇒ Object
request is actually a request_template
15 16 17 |
# File 'lib/pact_broker/domain/webhook.rb', line 15 def created_at @created_at end |
#description ⇒ Object
request is actually a request_template
15 16 17 |
# File 'lib/pact_broker/domain/webhook.rb', line 15 def description @description end |
#enabled ⇒ Object
request is actually a request_template
15 16 17 |
# File 'lib/pact_broker/domain/webhook.rb', line 15 def enabled @enabled end |
#events ⇒ Object
request is actually a request_template
15 16 17 |
# File 'lib/pact_broker/domain/webhook.rb', line 15 def events @events end |
#provider ⇒ Object
request is actually a request_template
15 16 17 |
# File 'lib/pact_broker/domain/webhook.rb', line 15 def provider @provider end |
#request ⇒ Object
request is actually a request_template
15 16 17 |
# File 'lib/pact_broker/domain/webhook.rb', line 15 def request @request end |
#updated_at ⇒ Object
request is actually a request_template
15 16 17 |
# File 'lib/pact_broker/domain/webhook.rb', line 15 def updated_at @updated_at end |
#uuid ⇒ Object
request is actually a request_template
15 16 17 |
# File 'lib/pact_broker/domain/webhook.rb', line 15 def uuid @uuid end |
Instance Method Details
#consumer_name ⇒ Object
75 76 77 |
# File 'lib/pact_broker/domain/webhook.rb', line 75 def consumer_name consumer && consumer.name end |
#display_description ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/pact_broker/domain/webhook.rb', line 31 def display_description if description && description.strip.size > 0 description else request_description end end |
#execute(pact, verification, event_context, options) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/pact_broker/domain/webhook.rb', line 55 def execute pact, verification, event_context, logger.info "Executing #{self} event_context=#{event_context}" template_params = template_parameters(pact, verification, event_context, ) webhook_request = request.build(template_params) http_response, error = execute_request(webhook_request) logs = generate_logs(webhook_request, http_response, error, event_context, .fetch(:logging_options)) http_request = webhook_request.http_request PactBroker::Webhooks::WebhookExecutionResult.new( http_request, http_response, logs, error ) end |
#provider_name ⇒ Object
79 80 81 |
# File 'lib/pact_broker/domain/webhook.rb', line 79 def provider_name provider && provider.name end |
#request_description ⇒ Object
51 52 53 |
# File 'lib/pact_broker/domain/webhook.rb', line 51 def request_description request && request.description end |
#scope_description ⇒ Object
39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/pact_broker/domain/webhook.rb', line 39 def scope_description if consumer && provider "A webhook for the pact between #{consumer.name} and #{provider.name}" elsif provider "A webhook for all pacts with provider #{provider.name}" elsif consumer "A webhook for all pacts with consumer #{consumer.name}" else "A webhook for all pacts" end end |
#to_s ⇒ Object
71 72 73 |
# File 'lib/pact_broker/domain/webhook.rb', line 71 def to_s "webhook for consumer=#{consumer_name} provider=#{provider_name} uuid=#{uuid}" end |
#trigger_on_contract_content_changed? ⇒ Boolean
83 84 85 |
# File 'lib/pact_broker/domain/webhook.rb', line 83 def trigger_on_contract_content_changed? events.any?(&:contract_content_changed?) end |
#trigger_on_provider_verification_failed? ⇒ Boolean
95 96 97 |
# File 'lib/pact_broker/domain/webhook.rb', line 95 def trigger_on_provider_verification_failed? events.any?(&:provider_verification_failed?) end |
#trigger_on_provider_verification_published? ⇒ Boolean
87 88 89 |
# File 'lib/pact_broker/domain/webhook.rb', line 87 def trigger_on_provider_verification_published? events.any?(&:provider_verification_published?) end |
#trigger_on_provider_verification_succeeded? ⇒ Boolean
91 92 93 |
# File 'lib/pact_broker/domain/webhook.rb', line 91 def trigger_on_provider_verification_succeeded? events.any?(&:provider_verification_succeeded?) end |