<% active_banners = { :sotmus2016 => { :alt => 'State of the Map US 2016', :link => 'http://stateofthemap.us/', :img => 'banners/sotmus-2016.jpg' }, :sotm2016 => { :alt => 'State of the Map 2016', :link => 'http://2016.stateofthemap.org/', :img => 'banners/sotm-2016.jpg' } } bannerSym = nil cookieStr = nil queuePos = 9999 # pick least recently seen banner that is not hidden active_banners.each_key do |k| c = '_osm_banner_' + k.to_s val = cookies[c.to_sym] || 0 next if val == 'hide' if val.to_i > 0 cookies[c.to_sym] = val.to_i - 1 end if val.to_i <= queuePos bannerSym = k cookieStr = c queuePos = val.to_i end end unless bannerSym.nil? banner = active_banners[bannerSym] cookies[cookieStr.to_sym] = active_banners.length # bump to end of queue %> <%= link_to (image_tag banner[:img], :alt => banner[:alt], :title => banner[:alt]), banner[:link] %>
<% end %>