I want to define an instance method Date#next which returns the next day. So I made a DateExtension module, like this:
module DateExtension
def next(symb=:day)
dt = DateTime.now
{:day => Date.new(dt.year, dt.month, dt.day + 1),
:week => Date.new(dt.year, dt.month, dt.day + 7),
:month => Date.new(dt.year, dt.month + 1, dt.day),
:year => Date.new(dt.year + 1, dt.month, dt.day)}[symb]
end
end
Using it:
class Date
include DateExtension
end
Calling the method d.next(:week) makes Ruby throw an error ArgumentError: wrong number of arguments (1 for 0).
How can I override the default next method from Date class with the one declared in DateExtension module?
