sanger/sequencescape

View on GitHub
app/models/shared_behaviour/indestructable.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
# frozen_string_literal: true
module SharedBehaviour::Indestructable
  def self.included(base)
    base.class_eval { before_destroy :prevent_destruction }
  end

  private

  def prevent_destruction
    errors.add(:base, 'can not be destroyed and should be deprecated instead!')
    throw(:abort)
  end
end