Sha256: 0b992ac0a2c7b3d589492740312d8fb87de35049620f4db0d27e84b2cd136dec

Contents?: true

Size: 569 Bytes

Versions: 1

Compression:

Stored size: 569 Bytes

Contents

module PolymorphicConstraints
  module Utils
    module PolymorphicErrorHandler
      extend ActiveSupport::Concern

      included do
        rescue_from ActiveRecord::StatementInvalid do |exception|
          if exception.message =~ /Polymorphic record not found./
            raise ActiveRecord::RecordNotFound, exception.message
          elsif exception.message =~ /Polymorphic reference exists./
            raise ActiveRecord::ReferenceViolation, exception.message
          else
            raise exception
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
polymorphic_constraints-1.0.0 lib/polymorphic_constraints/utils/polymorphic_error_handler.rb