Provides precise Date calculations for years,
months, and days. The options parameter takes a hash with any of
these keys: :years,:months,:weeks,:days.
# File activesupport/lib/active_support/core_ext/date/calculations.rb, line 108
def advance(options)
options = options.dup
d = self
d = d >> options.delete(:years) * 12 if options[:years]
d = d >> options.delete(:months) if options[:months]
d = d + options.delete(:weeks) * 7 if options[:weeks]
d = d + options.delete(:days) if options[:days]
d
end