Je veux définir une méthode d'instance Date#next
qui retourne le lendemain. Donc j'ai fait un module DateExtension
, comme ceci :
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
Utilisation :
class Date
include DateExtension
end
Appeler la méthode d.next(:week)
fait que Ruby lance une erreur ArgumentError: wrong number of arguments (1 for 0)
.
Comment puis-je remplacer la méthode next
par défaut de la classe Date
par celle déclarée dans le module DateExtension
?