module SubclassMustImplement::ClassMethods
The class level macros are defined here.
Public Instance Methods
subclass_must_implement(*method_names, err_message: nil)
click to toggle source
Define a method for each method name that raises a NotImplementedError when called. Pass in a custom error message if desired using the err_message named argument. @param method_names [Enumerable<Symbol>] @param err_message [String]
# File lib/subclass_must_implement.rb, line 75 def subclass_must_implement(*method_names, err_message: nil) method_names.each do |method_name| err = err_message.nil? ? ::SubclassMustImplement.default_error_message(method_name) : "#{err_message}" define_method method_name do |*_| raise NotImplementedError, err end end end