lib/grumlin/steppable.rb in grumlin-0.22.5 vs lib/grumlin/steppable.rb in grumlin-0.23.0

- old
+ new

@@ -10,28 +10,30 @@ REGULAR_STEPS = Grumlin.definitions.dig(:steps, :regular).map(&:to_sym).freeze CONFIGURATION_STEPS = Grumlin.definitions.dig(:steps, :configuration).map(&:to_sym).freeze ALL_STEPS = START_STEPS + CONFIGURATION_STEPS + REGULAR_STEPS - def initialize(pool: nil, session_id: nil) + def initialize(pool: nil, session_id: nil, middlewares: Grumlin.default_middlewares) @pool = pool @session_id = session_id + @middlewares = middlewares + return if respond_to?(:shortcuts) raise "steppable must not be initialized directly, use Grumlin::Shortcuts::Storage#g or #__ instead" end ALL_STEPS.each do |step| define_method step do |*args, **params| - shortcuts.action_class.new(step, args: args, params: params, previous_step: self, - session_id: @session_id, pool: @pool) + shortcuts.step_class.new(step, args: args, params: params, previous_step: self, + session_id: @session_id, pool: @pool, middlewares: @middlewares) end end def step(name, *args, **params) - shortcuts.action_class.new(name, args: args, params: params, previous_step: self, - session_id: @session_id, pool: @pool) + shortcuts.step_class.new(name, args: args, params: params, previous_step: self, + session_id: @session_id, pool: @pool, middlewares: @middlewares) end def_delegator :shortcuts, :__ end end