Sha256: e22a73804dfc5885df290d6ab52ae0d5901634061dab26ff4b3ce5e751771061

Contents?: true

Size: 1.01 KB

Versions: 1

Compression:

Stored size: 1.01 KB

Contents

# frozen_string_literal: true

require 'domainic/attributer/errors/aggregate_error'

module Domainic
  module Attributer
    # A specialized error class for callback execution failures
    #
    # This error class is used when one or more callbacks fail during attribute value
    # changes. It aggregates all callback-related errors into a single error with a
    # descriptive message listing each individual failure
    #
    # @author {https://aaronmallen.me Aaron Allen}
    # @since 0.2.0
    class CallbackExecutionError < AggregateError
      # Initialize a new CallbackExecutionError instance
      #
      # @api private
      # @!visibility private
      #
      # @param errors [Array<StandardError>] the collection of callback errors to aggregate
      #
      # @return [CallbackExecutionError] the new CallbackExecutionError instance
      # @rbs (Array[StandardError] errors) -> void
      def initialize(errors)
        super('The following errors occurred during callback execution:', errors)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
domainic-attributer-0.2.0 lib/domainic/attributer/errors/callback_execution_error.rb