module Rankum::Utils::Interactor
Public Class Methods
new(context={})
click to toggle source
# File lib/rankum/utils/interactor.rb, line 7 def initialize context={} @context = OpenStruct.new(context) end
Public Instance Methods
context()
click to toggle source
# File lib/rankum/utils/interactor.rb, line 34 def context @context end
execute() { || ... }
click to toggle source
# File lib/rankum/utils/interactor.rb, line 11 def execute begin yield exit if @context.fail? success! rescue Exception => e fail! end @context end
fail!()
click to toggle source
# File lib/rankum/utils/interactor.rb, line 38 def fail! @context.send("success?=",false) @context.send("fail?=",true) end
organize(*interactors)
click to toggle source
# File lib/rankum/utils/interactor.rb, line 23 def organize *interactors interactors.each do |interactor| context_hash = @context.to_h context = interactor.run(context_hash) @context = OpenStruct.new(context_hash.merge!(context.to_h)) end @context end
success!()
click to toggle source
# File lib/rankum/utils/interactor.rb, line 43 def success! @context.send("success?=",true) @context.send("fail?=",false) end