Module: Vert::Outbox::Event
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/vert/outbox/event.rb
Instance Method Summary collapse
- #can_retry? ⇒ Boolean
- #mark_as_failed!(error) ⇒ Object
- #mark_as_published! ⇒ Object
- #message_headers ⇒ Object
- #routing_key ⇒ Object
Instance Method Details
#can_retry? ⇒ Boolean
55 56 57 |
# File 'lib/vert/outbox/event.rb', line 55 def can_retry? status_failed? && retry_count < self.class.max_retry_count end |
#mark_as_failed!(error) ⇒ Object
51 52 53 |
# File 'lib/vert/outbox/event.rb', line 51 def mark_as_failed!(error) update!(status: :failed, retry_count: retry_count + 1, last_error: error.to_s, failed_at: Time.current) end |
#mark_as_published! ⇒ Object
47 48 49 |
# File 'lib/vert/outbox/event.rb', line 47 def mark_as_published! update!(status: :published, published_at: Time.current) end |
#message_headers ⇒ Object
63 64 65 |
# File 'lib/vert/outbox/event.rb', line 63 def { tenant_id: tenant_id, event_type: event_type, aggregate_type: aggregate_type, aggregate_id: aggregate_id, event_id: id, timestamp: created_at.iso8601 } end |
#routing_key ⇒ Object
59 60 61 |
# File 'lib/vert/outbox/event.rb', line 59 def routing_key event_type.tr("_", ".") end |