Предполагая, что вы хотите предотвратить создание подклассов, вы можете raise
исключение из обратного вызова inherited
:
class Foo
def self.inherited(subclass)
raise "Can't inherit Foo class"
end
end
class Bar < Foo ; end
#=> RuntimeError (Can't inherit Foo class)