特定の日付から過去10年分の同一日を取得したいのですが、
指定する日付が月末であった場合は月末に変更したいです。

このように書いたのですが、もう少し良い書き方はありますか?

  def same_dates_in_past(date)
    #date = Date.new(2017,2,28)
    end_of_month = date == date.end_of_month
    dates = 10.times.map{|i| date - i.years}
    dates.map!(&:end_of_month) if end_of_month
    dates
  end

もう少し短く簡潔に書けるかと思ったのですが、うまく書けませんでした。