Uninheritable

Allows an object to declare itself as unable to be subclassed. The technique behind this is very simple (redefinition of inherited), so this just provides an easier way to do the same thing with a consistent error message.

Methods
Public Instance methods
inherited(klass)

Redefines a class‘s inherited definition to prevent subclassing of the class extended by this module.

# File lib/facets/uninheritable.rb, line 46
  def inherited(klass)
    raise TypeError, "Class #{self} cannot be subclassed."
  end