Sha256: cb98c97d783c2f44775e62ab688c9e0da34dc423528c1cc63fe6a7e99abc9d8d
Contents?: true
Size: 640 Bytes
Versions: 1
Compression:
Stored size: 640 Bytes
Contents
module NxtPipeline class ErrorCallback def initialize(errors, halt_on_error, &callback) @errors = errors.any? ? errors : [StandardError] @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(error, acc, step) args = [error, acc, step] args = args.take(callback.arity) unless callback.arity.negative? callback.call(*args) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nxt_pipeline-2.0.0 | lib/nxt_pipeline/error_callback.rb |