Sha256: 7260cf878a90b15b92507661e03b107350892bd67086844079231723abe9593f

Contents?: true

Size: 514 Bytes

Versions: 6

Compression:

Stored size: 514 Bytes

Contents

module NxtPipeline
  class ErrorCallback
    def initialize(errors, halt_on_error, callback)
      @errors = errors
      @halt_on_error = halt_on_error
      @callback = callback
    end

    attr_accessor :errors, :callback

    def halt_on_error?
      @halt_on_error
    end

    def continue_after_error?
      !halt_on_error?
    end

    def applies_to_error?(error)
      (error.class.ancestors & errors).any?
    end

    def call(step, arg, error)
      callback.call(step, arg, error)
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
nxt_pipeline-0.4.0 lib/nxt_pipeline/error_callback.rb
nxt_pipeline-0.3.1 lib/nxt_pipeline/error_callback.rb
nxt_pipeline-0.3.0 lib/nxt_pipeline/error_callback.rb
nxt_pipeline-0.2.8 lib/nxt_pipeline/error_callback.rb
nxt_pipeline-0.2.7 lib/nxt_pipeline/error_callback.rb
nxt_pipeline-0.2.6 lib/nxt_pipeline/error_callback.rb