class Fugit::Cron

def rough_days

def rough_days
  return nil if @weekdays == nil && @monthdays == nil
  months = (@months || (1..12).to_a)
  monthdays = months
    .product(@monthdays || [])
    .collect { |m, d|
      d = 31 + d if d < 0
      (m - 1) * 30 + d } # rough
  weekdays = (@weekdays || [])
    .collect { |d, w|
      w ?
      d + (w - 1) * 7 :
      (0..3).collect { |ww| d + ww * 7 } }
    .flatten
  weekdays = months
    .product(weekdays)
    .collect { |m, d| (m - 1) * 30 + d } # rough
  (monthdays + weekdays).sort
end