class Scheduling::Monthly
Public Class Methods
new(mday)
click to toggle source
# File lib/scheduling/regularity/monthly.rb, line 5 def initialize mday @mday = mday if mday > 28 @mday = 28 end end
Public Instance Methods
occurances(date_range)
click to toggle source
# File lib/scheduling/regularity/monthly.rb, line 12 def occurances date_range raise RangeDecreasingError if date_range.decreasing? cur = Date.new(date_range.min.year, date_range.min.month, @mday) start = date_range.min if cur < start cur = cur.next_month end occurances = [] stop = date_range.last if date_range.exclude_end? stop -= 1 end while cur <= stop occurances.push cur cur = cur.next_month end return occurances end