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