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.

Usage

  require 'mega/uninheritable'

  class A
    extend Uninheritable
  end

  class B < A; end # => raises TypeError

Author(s)

  • Austin Ziegler
Methods
Public Instance methods
inherited(klass) [ source ]

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