Method: Date#change

Defined in:
activesupport/lib/active_support/core_ext/date/calculations.rb

#change(options) ⇒ Object

Returns a new Date where one or more of the elements have been changed according to the options parameter. The options parameter is a hash with a combination of these keys: :year, :month, :day.

Date.new(2007, 5, 12).change(day: 1)               # => Date.new(2007, 5, 1)
Date.new(2007, 5, 12).change(year: 2005, month: 1) # => Date.new(2005, 1, 12)


143
144
145
146
147
148
149
# File 'activesupport/lib/active_support/core_ext/date/calculations.rb', line 143

def change(options)
  ::Date.new(
    options.fetch(:year, year),
    options.fetch(:month, month),
    options.fetch(:day, day)
  )
end