Class: ActiveInteractor::Interactor::Base

Inherits:
Object
  • Object
show all
Includes:
ContextMethods, InteractionMethods
Defined in:
lib/active_interactor/interactor/base.rb

Direct Known Subclasses

Base

Instance Method Summary collapse

Methods included from InteractionMethods

#interact, #perform, #rollback

Constructor Details

#initialize(input = {}) ⇒ Base

Returns a new instance of Base.



9
10
11
12
# File 'lib/active_interactor/interactor/base.rb', line 9

def initialize(input = {})
  @raw_input = input.dup
  validate_input_and_generate_runtime_context!
end

Instance Method Details

#perform!Object



14
15
16
17
18
19
20
# File 'lib/active_interactor/interactor/base.rb', line 14

def perform!
  with_notification(:perform) do |payload|
    interact
    generate_and_validate_output_context!
    payload[:result] = Result.success(data: output_to_result_context!)
  end
end