X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/1b1693b8fe8c705bb7769de11c069e85dce989c3..8a6c34fa78cf4fa52332d90448dae50087f2b510:/app/helpers/banner_helper.rb diff --git a/app/helpers/banner_helper.rb b/app/helpers/banner_helper.rb index 4e888173b..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) - rescue - parsed = nil + startdate = v[:startdate] && Date.parse(v[:startdate]) + rescue StandardError + 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)