Sha256: 5ddcf85d3e43b3021c0ab066c11f3943a9d6a0525e3650788b9d385a1cc8b3b4
Contents?: true
Size: 1.24 KB
Versions: 2
Compression:
Stored size: 1.24 KB
Contents
# frozen_string_literal: true class Grumlin::Steppable extend Forwardable attr_reader :session_id START_STEPS = Grumlin.definitions.dig(:steps, :start).map(&:to_sym).freeze 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, 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.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.step_class.new(name, args: args, params: params, previous_step: self, session_id: @session_id, pool: @pool, middlewares: @middlewares) end def_delegator :shortcuts, :__ end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
grumlin-1.0.0.rc2 | lib/grumlin/steppable.rb |
grumlin-1.0.0.rc1 | lib/grumlin/steppable.rb |