module BusinessPipeline::Step
Public Class Methods
included(base)
click to toggle source
# File lib/business_pipeline/step.rb, line 9 def self.included(base) base.class_eval do include Hooks attr_reader :context private :context attr_reader :config private :config def self.inherited(child_class) child_class.instance_variable_set(:@hooks, hooks.clone) end end end
inherited(child_class)
click to toggle source
# File lib/business_pipeline/step.rb, line 19 def self.inherited(child_class) child_class.instance_variable_set(:@hooks, hooks.clone) end
new(config = {})
click to toggle source
# File lib/business_pipeline/step.rb, line 25 def initialize(config = {}) @config = BusinessPipeline::Config.new(config) end
Public Instance Methods
call()
click to toggle source
# File lib/business_pipeline/step.rb, line 29 def call fail NotImplementedError end
fail!(additional_context = {})
click to toggle source
# File lib/business_pipeline/step.rb, line 33 def fail!(additional_context = {}) context.fail!(additional_context) end
perform(context = {})
click to toggle source
# File lib/business_pipeline/step.rb, line 37 def perform(context = {}) @context = BusinessPipeline::Context.build(context) with_hooks { call } @context end
succeed!(additional_context = {})
click to toggle source
# File lib/business_pipeline/step.rb, line 43 def succeed!(additional_context = {}) context.succeed!(additional_context) end