Browse Source

Refactor generate_different_date_within_collection_year to handle edge cases and return nil if no available dates

pull/3029/head
Manny Dinssa 1 month ago
parent
commit
0e3d620bcb
  1. 6
      app/helpers/collection_time_helper.rb

6
app/helpers/collection_time_helper.rb

@ -57,6 +57,10 @@ module CollectionTimeHelper
def generate_different_date_within_collection_year(date, start_date_override: nil, end_date_override: nil)
start_date = [start_date_override, collection_start_date(date).to_date].compact.max.to_date
end_date = [end_date_override, collection_end_date(date).to_date].compact.min.to_date
((start_date..end_date).to_a - [date.to_date]).sample
return nil if start_date > end_date
available_dates = (start_date..end_date).to_a - [date.to_date]
available_dates.empty? ? nil : available_dates.sample
end
end

Loading…
Cancel
Save