X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/15b104f4ff4614aa78c01180b6a9b89dd5a1400f..514836a4979b655796190d60aa4bda22f9cdc7f9:/app/helpers/banner_helper.rb diff --git a/app/helpers/banner_helper.rb b/app/helpers/banner_helper.rb index 661369454..9048d4840 100644 --- a/app/helpers/banner_helper.rb +++ b/app/helpers/banner_helper.rb @@ -1,13 +1,19 @@ module BannerHelper def active_banners BANNERS.reject do |_k, v| - enddate = v[:enddate] begin - parsed = enddate && Date.parse(enddate) + startdate = v[:startdate] && Date.parse(v[:startdate]) rescue StandardError - parsed = nil + startdate = nil end - !parsed.is_a?(Date) || (parsed.is_a?(Date) && parsed.past?) + + begin + enddate = v[:enddate] && Date.parse(v[:enddate]) + rescue StandardError + enddate = nil + end + + startdate&.future? || enddate&.past? end end @@ -26,9 +32,9 @@ module BannerHelper # rotate all banner queue positions index = cval.to_i - cookies[ckey] = index - 1 if index > 0 + cookies[ckey] = index - 1 if index.positive? - # pick banner with mininum queue position + # pick banner with minimum queue position next if index > min_index # or if equal queue position, pick banner with soonest end date (i.e. next expiring)