Class: Railbox::Mutators::TransactionalOutboxMutator
- Inherits:
-
Object
- Object
- Railbox::Mutators::TransactionalOutboxMutator
- Defined in:
- lib/railbox/mutators/transactional_outbox_mutator.rb
Class Method Summary collapse
Class Method Details
.create(attributes) ⇒ Object
6 7 8 |
# File 'lib/railbox/mutators/transactional_outbox_mutator.rb', line 6 def create(attributes) TransactionalOutbox.create!(attributes) end |
.update(record, attributes) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/railbox/mutators/transactional_outbox_mutator.rb', line 10 def update(record, attributes) record.assign_attributes(attributes) if record.status == 'in_progress' record.attempts += 1 if record.attempts >= Railbox.configuration.max_attempts record.status = 'failed' else record.retry_at = (Railbox.configuration.retry_strategy[record.attempts - 1] || Railbox.configuration.retry_strategy.last).from_now end end record.save! record end |