Разница в том, что:
Date.today + 1
является сложением двух числовых значений и
Date.today +1
- это вызов метода today
с параметром sg
(день календарной реформы) со значением +1
Лучший способ проверить это - это исправить исходный метод с включенным отладочным выводом. Посмотрите этот скрипт как пример:
require 'date'
class Date
def self.today(sg=ITALY)
puts "ITALY default("+sg.to_s+")" if sg==ITALY
puts sg unless sg==ITALY
jd = civil_to_jd(*(Time.now.to_a[3..5].reverse << sg))
new0(jd_to_ajd(jd, 0, 0), 0, sg)
end
end
puts "- Addition:"
Date.today + 1
puts "- Parameter:"
Date.today +1
Будет выведен следующий вывод консоли:
- Addition:
ITALY default(2299161)
- Parameter:
1