X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/cb87f02642d0097ebc067ca1f9371dde274a41e3..1f0105c9537dea2b8f74b0c7e897e2a0ef11ff8b:/app/helpers/banner_helper.rb?ds=sidebyside 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)