class Date
def change(options)
Date.new(2007, 5, 12).change(day: 1) # => Date.new(2007, 5, 1)
The +options+ parameter is a hash with a combination of these keys: :year, :month, :day.
Returns a new Date where one or more of the elements have been changed according to the +options+ parameter.
def change(options) ::Date.new( options.fetch(:year, year), options.fetch(:month, month), options.fetch(:day, day) ) end