In Ruby a Class can have methods. Similarly a Module can also have methods.
module Info def name puts "Roger Smith" end end
However we can’t call
new on a Module.
A module needs to be mixed in to a class.
In other words we need to put the module in a class
and then we need to instantiate that class.
Then that class will have the methods defined in module.
How is module useful
Let’s say that we have a method called
This method does the complicated job of calculating tax.
We do not want this method to be in many classes.
We want this method to be at only one place so that we can
make change to it.
We can do that by putting this method in a module. Now any class that needs to calculate tax can include the module and can do the tax calculation.