Declaration for module methods which need to be implemented

Let’s say I have the following module:


module Parenting

def add_child(a_child)
self.children.push(a_child)
end

def delete_child(a_child)
self.children.delete(a_child)
end

def children
# need to implement
but is there a programtaic way to declare this?
end

end

Is there a way to enforce that the ‘children’ method is understood in
any class which includes this module? Or do I simply rely on a
comment, as above

On Dec 13, 5:30 pm, Paul [email protected] wrote:

self.children.delete(a_child)

Is there a way to enforce that the ‘children’ method is understood in
any class which includes this module? Or do I simply rely on a
comment, as above

You general just make a comment in the module docs. Ie.

The including module must define #children.

module Parenting

end

Under certain conditions you might provide a default, or raise an
error, eg.

module Parenting
def children
raise NoMethodError
end
end

T.