Кто-нибудь знает какие-либо гемы / плагины / учебные пособия, связанные с экспортом событий в iCal, Google Calendar, Outlook из приложения Rails? - PullRequest
10 голосов
/ 29 января 2009

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

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

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

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

Спасибо!

1 Ответ

15 голосов
/ 29 января 2009

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

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

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

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
...