class Cyclical::MonthdaysFilter
Attributes
monthdays[R]
Public Class Methods
new(*monthdays)
click to toggle source
# File lib/cyclical/filters/monthdays_filter.rb, line 6 def initialize(*monthdays) raise ArgumentError, "Specify at least one day of the month" if monthdays.empty? @monthdays = monthdays.sort end
Public Instance Methods
match?(date)
click to toggle source
# File lib/cyclical/filters/monthdays_filter.rb, line 12 def match?(date) last = date.end_of_month.day (@monthdays.include?(date.day) || @monthdays.include?(date.day - last - 1)) end
next(date)
click to toggle source
FIXME - this can probably be calculated
# File lib/cyclical/filters/monthdays_filter.rb, line 22 def next(date) until match?(date) date += 1.day end date end
previous(date)
click to toggle source
# File lib/cyclical/filters/monthdays_filter.rb, line 30 def previous(date) until match?(date) date -= 1.day end date end
step()
click to toggle source
# File lib/cyclical/filters/monthdays_filter.rb, line 17 def step 1.day end