lib/periodical/period.rb in periodical-1.1.0 vs lib/periodical/period.rb in periodical-1.2.0
- old
+ new
@@ -34,28 +34,30 @@
self.unit.to_s
end
end
def advance(date, multiple = 1)
+ raise TypeError unless date.is_a?(Date)
+
self.send("advance_#{unit}", date, multiple * self.count)
end
private
def advance_days(date, count)
date + count
end
def advance_weeks(date, count)
- date + (7 * count)
+ advance_days(date, count*7)
end
def advance_months(date, count)
date >> count
end
def advance_years(date, count)
- date >> (12 * count)
+ advance_months(date, count*12)
end
class << self
# Accepts strings in the format of "2 weeks" or "weeks"
def parse(string)