At a guess,
Time.now
is always returning the same time. This can happen if it is "frozen" for testing.