lib/templates/outbox.rb in outboxable-0.1.2 vs lib/templates/outbox.rb in outboxable-0.1.3

- old
+ new

@@ -1,12 +1,12 @@ class Outbox < ApplicationRecord attribute :allow_publish, :boolean, default: true # Callbacks - after_commit :publish, if: :allow_publish? + before_create :set_last_attempted_at before_save :check_publishing - + after_commit :publish, if: :allow_publish? # Enums enum status: { pending: 0, published: 1, failed: 2 } enum size: { single: 0, batch: 1 } # Validations @@ -15,18 +15,17 @@ validates :routing_key, presence: true # Associations belongs_to :outboxable, polymorphic: true, optional: true - def increment_attempt - self.attempts = attempts + 1 + def set_last_attempted_at self.last_attempted_at = Time.zone.now end def publish Outboxable::Worker.perform_async(id) end def check_publishing self.allow_publish = false if published? end -end \ No newline at end of file +end