def next_weekday(direction, abbreviated_weekday)
      count = direction.downcase == 'n' ? 1 : -1

      weekday = WEEKDAYS[abbreviated_weekday.downcase]
      raise "No valid weekday: #{abbreviated_weekday}" if weekday.nil?

      offset = @now.send("#{weekday[1]}?") ? count * 7 : 0
      @now + (weekday[0] - @now.wday + 7) % (count * 7) + offset
    end
def next_weekday(direction, abbreviated_weekday)
      count = direction.downcase == 'n' ? 1 : -1

      weekday = WEEKDAYS[abbreviated_weekday.downcase]
      raise "No valid weekday: #{abbreviated_weekday}" if weekday.nil?

      offset = @now.send("#{weekday[1]}?") ? count * 7 : 0
      @now + (weekday[0] - @now.wday + 7) % (count * 7) + offset
    end
Returns the next or previous weekday
 Exampel: next_monday or n_mo
 Su Mo Tu We Th Fr Sa
  0  1  2  3  4  5  6
     x                 Today
           *           Next Wednesday
                       @now + (3 - 1 + 7) % 7 = +2
              x        Today
  *                    Next Sunday
                       @now + (0 - 4 + 7) % 7 = +3
        x              Today
           *           Previous Wednesday
                       @now + (3 - 2 + 7) % -7 = -6
               x       Today
        *              Previous Tuesday
                       @now + (2 - 4 + 7) % -7 = -2