Method: ActiveInteractor::Interactor::Callbacks::ClassMethods#around_perform

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

#around_perform(*filters, &block) ⇒ Object

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

Examples:

class MyInteractor < ActiveInteractor::Base
  around_perform :track_time

  def perform
    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



128
129
130
# File 'lib/active_interactor/interactor/callbacks.rb', line 128

def around_perform(*filters, &block)
  set_callback(:perform, :around, *filters, &block)
end