[ANN] Protective

Protective is a small gem that protects your active records from being
destroyed. Use it like

protect_if :members, “Record has members and cannot be destroyed”

This creates a before_destroy callback and adds the given message to
the errors object of your record if the condition evaluates to
#present?. Several callbacks may be declared. An additional method
#protected? allows you to check beforehand.

gem install protective

Works for Active Record 2.3 and 3.0. Find the source at