Method: ActiveInteractor::Interactor::Callbacks::ClassMethods#around_rollback

Defined in:
lib/active_interactor/interactor/callbacks.rb

#around_rollback(*filters, &block) ⇒ Object

Define a callback to call around #rollback invokation on an interactor instance.

Examples:

class MyInteractor < ActiveInteractor::Base
  around_rollback :track_time

  def perform
    context.fail!
  end

  def rollback
    sleep(1)
  end

  private

  def track_time
    context.start_time = Time.now.utc
    yield
    context.end_time = Time.now.utc
  end
end

result = MyInteractor.perform
result.start_time
#=> 2019-01-01 00:00:00 UTC

result.end_time
#=> 2019-01-01 00:00:01 UTC

Since:

  • 0.1.0



162
163
164
# File 'lib/active_interactor/interactor/callbacks.rb', line 162

def around_rollback(*filters, &block)
  set_callback(:rollback, :around, *filters, &block)
end