# File lib/ice_cube/validations/day_of_week.rb, line 33 def validate(step_time, start_time) wday = step_time.wday offset = (day < wday) ? (7 - wday + day) : (day - wday) wrapper = TimeUtil::TimeWrapper.new(step_time) wrapper.add :day, offset loop do which_occ, num_occ = TimeUtil.which_occurrence_in_month(wrapper.to_time, day) this_occ = (occ < 0) ? (num_occ + occ + 1) : (occ) break offset if which_occ == this_occ wrapper.add :day, 7 offset += 7 end end