Use Modules to boost your OOP
There are two ways of using modules, you can either extend or include them in a class.
module Speed
def accelerate
puts "I am faster now"
end
end
class Car
include Speed
end
car1 = Car.new
car1.accelerate # => I am faster now
Car.accelerate # NoMethodError: undefined method `accelerate' for Car:Class
class Ebike
extend Speed
end
bike1 = Ebike.new
bike1.accelerate # NoMethodError: undefined method `accelerate' for Object
Ebike.accelerate # => I am faster now
include makes the module’s method instance methods, while extend really is extending your class with its methods.
⬅️ Read previous Read next ➡️