Class: SpreeSquare::WebhookEvent

Inherits:
Object
  • Object
show all
Defined in:
app/models/spree_square/webhook_event.rb

Overview

Idempotency + audit log for inbound Square webhook notifications. The unique index on square_event_id is what makes Square's at-least-once delivery safe to process without duplicating side effects.

Instance Method Summary collapse

Instance Method Details

#mark_failed!(error) ⇒ Object



22
23
24
# File 'app/models/spree_square/webhook_event.rb', line 22

def mark_failed!(error)
  update!(status: 'failed', processed_at: Time.current, error_message: error.to_s.truncate(1000))
end

#mark_processed!Object



18
19
20
# File 'app/models/spree_square/webhook_event.rb', line 18

def mark_processed!
  update!(status: 'processed', processed_at: Time.current)
end