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.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs