class LightService::Organizer::ReduceCase
Public Class Methods
run(organizer, **args)
click to toggle source
# File lib/light-service/organizer/reduce_case.rb, line 32 def self.run(organizer, **args) arguments = Arguments.new(**args) lambda do |ctx| return ctx if ctx.stop_processing? matched_case = arguments.when.keys.find { |k| k.eql?(ctx[arguments.value]) } steps = arguments.when[matched_case] || arguments.else ctx = scoped_reduce(organizer, ctx, steps) ctx end end