class Ni::Flows::IsolatedInlineInteractor
Attributes
action[RW]
interactor_klass[RW]
provide_list[RW]
receive_list[RW]
Public Class Methods
new(interactor_klass, action, options={})
click to toggle source
# File lib/ni/flows/isolated_inline_interactor.rb, line 5 def initialize(interactor_klass, action, options={}) self.interactor_klass, self.action = interactor_klass, action self.receive_list, self.provide_list = Array(options[:receive]), Array(options[:provide]) end
Public Instance Methods
call(context)
click to toggle source
# File lib/ni/flows/isolated_inline_interactor.rb, line 10 def call(context) isolated_context = Ni::Context.new(nil, action) isolated_context.assign_data!(context.slice(*receive_list)) result = interactor_klass.public_send(action, isolated_context) provide_list.each do |param_name| context[param_name] = result.context[param_name] end end