Нет, он ссылается только на данный пример:
validates :expiration_date,
:date => {:after => Proc.new { Time.now },
:before => Proc.new { Time.now + 1.year } }
Если бы вместо этого вы написали,
validates :expiration_date,
:date => {:after => Time.now,
:before => Time.now + 1.year }
Time.now
будет интерпретироваться, когда класс будет проанализирован и будетвыполнять валидацию по этому значению.
Использование Proc.new в этом значении означает, что Time.new будет оцениваться при фактическом выполнении проверки, а не при первоначальной интерпретации.