Класс Date вызывает метод self.parse для анализа предоставленной строки до даты.
1.9.2p320 :051 > x = Date.parse('2011-31-12')
ArgumentError: invalid date
from .../rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/date.rb:1022:in `new_by_frags'
from .../rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/date.rb:1066:in `parse'
, которая в свою очередь вызывает метод self "_parse", который находится в файле "... / ruby-1.9.2-p320 / lib / ruby / 1.9.1 / date / format.rb ".
вызывает функцию strftime (" def strftime (fmt = '% F') "), где по умолчаниюформат для форматирования даты - «% F», который согласно документации класса «Время» - «% F - формат даты ISO 8601 (% Y-% m-% d)».