BEGIN:VCALENDAR VERSION:2.0 PRODID:-//rousette.org.uk//Tracks 1.04//EN CALSCALE:GREGORIAN METHOD:PUBLISH BEGIN:VTIMEZONE TZID:<%= ENV['TZ'] || 'GMT' %> LAST-MODIFIED:<%= Time.now.strftime("%Y%m%dT%H%M%SZ") %> TZNAME:<%= ENV['TZ'] %> END:VTIMEZONE <% for @todo in @todos -%> BEGIN:VTODO DTSTAMP:<%= @todo.created_at.strftime("%Y%m%dT%H%M%SZ") %> DTSTART;VALUE=DATE:<%= @todo.created_at.strftime("%Y%m%d") %> SUMMARY:<%= @todo.description %> UID:<%= todo_url(@todo) %> <% if @todo.notes? -%> DESCRIPTION:<%= format_ical_notes(@todo.notes) %> <% end -%> <% if @todo.due -%> DUE;VALUE=DATE:<%= @todo.due.strftime("%Y%m%d") %> <% end -%> <% if @todo.project_id -%> URL:<%= project_url(@todo.project) %> <% else -%> URL:<%= context_url(@todo.context) %> <% end -%> END:VTODO <% end -%> END:VCALENDAR