Я хочу определить метод экземпляра Date#next
, который возвращает следующий день. Поэтому я создал модуль DateExtension
, например:
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
Используя его:
class Date
include DateExtension
end
Вызов метода d.next(:week)
заставляет Ruby вызывать ошибку ArgumentError: wrong number of arguments (1 for 0)
.
Как я могу переопределить метод next
по умолчанию из класса Date
с объявленным в модуле DateExtension
?