Sha256: 1f65240533862665cb68d99bbb1ca1ebd7a4ed7b55b5c3fba76eee378fdfab38
Contents?: true
Size: 1.42 KB
Versions: 7
Compression:
Stored size: 1.42 KB
Contents
# frozen_string_literal: true cache_if(@perform_caching, Calagator::CacheObserver.daily_key_for("events_atom", request)) do atom_feed("xmlns:georss": "http://www.georss.org/georss") do |feed| page_title = if @search @search.tag ? "Events tagged with: #{@search.tag}" : "Search Results for: #{@search.query}" else "Events" end feed.title("#{Calagator.title}: #{page_title}") unless @events.empty? feed.updated(@events.present? ? @events.max_by(&:updated_at).updated_at : Time.now.in_time_zone) @events.each do |event| feed.entry(event) do |entry| summary = normalize_time(event.start_time, event.end_time, format: :text).to_s if event.venue && event.venue.title.present? summary += " at #{event.venue.title}" end entry.title(event.title) entry.summary(summary) entry.url(event_url(event)) entry.link(rel: "enclosure", type: "text/calendar", href: event_url(event, format: "ics")) entry.start_time(event.start_time.xmlschema) entry.end_time(event.end_time.xmlschema) if event.end_time entry.content(render(partial: "feed_item", locals: {event: event}, formats: [:html]), type: "html") if event.venue&.latitude && event.venue&.longitude entry.georss :point, "#{event.venue.latitude} #{event.venue.longitude}" end end end end end end
Version data entries
7 entries across 7 versions & 2 rubygems