0.01
No commit activity in last 3 years
No release in over 3 years
Easily import iCal Events from a URL and handle their output
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 11
~> 2.11

Runtime

> 3.0.0, < 7.0
~> 0.6
~> 2.3.0
 Project Readme

Ical Importer

Easily import your iCal feeds.

TravisCI

RubyGems

Usage

Add

gem 'ical_importer'

to your Gemfile

Then you can do:

IcalImporter::Parser.new(a_url).parse # To get just an array of events

# To get just an array of events, with a longer timeout [default is 8 sec]
IcalImporter::Parser.new(a_url, :timeout => 40).parse

IcalImporter::Parser.new(a_url).parse do |event|
  event.uid
  event.title
  event.description
  event.location
  event.start_date_time
  event.end_date_time
  event.utc
  event.date_exclusions
  event.recur_end_date
  event.recur_month_repeat_by
  event.recur_interval
  event.recur_interval_value
  event.recurrence_id
  event.all_day_event
  event.recurrence
  event.utc?
  event.all_day_event?
  event.recurrence?
  event.recur_week_sunday
  event.recur_week_monday
  event.recur_week_tuesday
  event.recur_week_wednesday
  event.recur_week_thursday
  event.recur_week_friday
  event.recur_week_saturday
end

parser = IcalImporter::Parser.new(a_url)
parser.parse do |e|
  # block stuffs
end

# Each of these also accepts blocks and returns a list
# MUST parse before using these
parser.all_events
parser.recurrence_events
parser.single_events

Notes

  • Recurrence events are not the same as recurring events

Known Issues

TODO

  • Current implementation based on an extraction from another app
    • some of the recurring/recurrence/single logic is fragmented
    • Re-implement to be more similarly classifiable across these different scenarios
  • Document Methods