class MultiRedis::Executor::OperationExecution
Attributes
final_results[R]
Public Class Methods
new(operation, args, shared_context)
click to toggle source
# File lib/multi_redis/executor.rb, line 57 def initialize operation, args, shared_context @operation = operation @args = args @context = Context.new shared_context.redis, shared_context @steps = operation.steps @current_index = 0 end
Public Instance Methods
done?()
click to toggle source
# File lib/multi_redis/executor.rb, line 68 def done? !current_step end
execute_current_step()
click to toggle source
# File lib/multi_redis/executor.rb, line 76 def execute_current_step results = @context.execute current_step, *@args @current_index += 1 @final_results = results end
next?(type)
click to toggle source
# File lib/multi_redis/executor.rb, line 72 def next? type current_step && current_step.type == type end
resolve_futures!()
click to toggle source
# File lib/multi_redis/executor.rb, line 82 def resolve_futures! @context.resolve_futures! end
resolve_operation_future!()
click to toggle source
# File lib/multi_redis/executor.rb, line 86 def resolve_operation_future! @operation.future.value = @final_results if @operation.future end
Private Instance Methods
current_step()
click to toggle source
# File lib/multi_redis/executor.rb, line 92 def current_step @steps[@current_index] end