Кто-нибудь знает какие-либо gems/plugins/tutorials, связанные с экспортом событий в iCal, Google Calendar, Outlook из приложения Rails?

Я пытаюсь выяснить, есть ли уже подключаемый модуль, который взаимодействует с iCal, API Google, которые я могу использовать, или мне нужно просто замарать руки и написать это самостоятельно.

Если кто-нибудь знает о хороших ресурсах, которые я могу посмотреть, это может помочь мне в реализации, это тоже хорошо.

Я новичок в RoR, и я пытался научиться этому некоторое время. Наконец, я решил начать играть со своим собственным приложением, а не просто следовать за книгой.

Любая помощь в этом вопросе будет оценена по достоинству.

Спасибо!

Ответ 1

Обратите внимание на жемчужина Google Calendar для рельсов. Он позволяет отображать пользовательский календарь Google в вашем приложении rails, и у них есть примеры фрагментов, показывающие, как экспортировать события в Календарь Google:

require 'googlecalendar'
g = GData.new
g.login('[email protected]', 'REPLACE_WITH_YOUR_PASSWORD')
event = { :title=>'title',
:content=>'content',
:author=>'pub.cog',
:email=>'[email protected]',
:where=>'Toulouse,France',
:startTime=>'2007-06-06T15:00:00.000Z',
:endTime=>'2007-06-06T17:00:00.000Z'}
g.new_event(event)

Для iCal используйте iCalendar gem, а затем вы можете экспортировать события следующим образом:

require ‘icalendar’

class EventController < ApplicationController
  def export_events
    @event = Event.find(params[:id])
    @calendar = Icalendar::Calendar.new
    event = Icalendar::Event.new
    event.start = @event.dt_time.strftime("%Y%m%dT%H%M%S")
    event.end = @event.dt_time.strftime("%Y%m%dT%H%M%S")
    event.summary = @event.summary
    event.description = @event.description
    event.location = @event.location
    @calendar.add event
    @calendar.publish
    headers['Content-Type'] = "text/calendar; charset=UTF-8″
    render_without_layout :text => @calendar.to_ical
  end
end