Чтение URL-адреса webcal в ruby ​​on rails

Я пытаюсь разобрать веб-ссылку

webcal://www.facebook.com/ical/b.php?uid=13301632&key=asdgagaweg

в приложении Ruby on Rails, чтобы я мог настроить записи событий. Я просмотрел как RiCal, так и icalendar, но не поддерживает чтение ленты календаря (webcal://).

Существуют ли библиотеки Rails, поддерживающие синтаксический анализ веб-адресов? Если нет, то как мне создать собственный парсер?


person marksbren    schedule 27.03.2013    source источник


Ответы (1)


webcal — это всего лишь неофициальная схема URI для доступа к документам icalendar. Вы можете получить календарь с помощью http и проанализировать его с помощью одного из нескольких плагинов icalendar:

require 'net/http'
uri = URI('http://www.facebook.com/ical/b.php?uid=13301632&key=asdgagaweg')
calendar = Net::HTTP.get(uri)

Альтернативные способы выполнения запроса http get: Как сделать HTTP-запрос с использованием Ruby on Rails?

Затем проанализируйте ответ, используя ваш любимый плагин:

icalendar:

cal = icalendar.parse(calendar).first

vPim:

cal = Vpim::Icalendar.decode(calendar).first  

ri_cal:

cal = RiCal.parse_string(calendar).first
person Chris Ellens    schedule 16.07.2013