class IcalImporter::RecurrenceEventBuilder
Attributes
built_events[R]
events_to_build[R]
Public Class Methods
new()
click to toggle source
# File lib/ical_importer/recurrence_event_builder.rb, line 4 def initialize @events_to_build = [] @built_events = [] end
Public Instance Methods
<<(event)
click to toggle source
# File lib/ical_importer/recurrence_event_builder.rb, line 9 def <<(event) raise ArgumentError, "Must be an Icalendar Event" unless event.is_a? Icalendar::Event @events_to_build << event end
build()
click to toggle source
# File lib/ical_importer/recurrence_event_builder.rb, line 14 def build self.tap do events_to_build.each do |remote_event| @built_events << build_new_local_event(remote_event) end end end
Private Instance Methods
build_new_local_event(remote_event)
click to toggle source
# File lib/ical_importer/recurrence_event_builder.rb, line 24 def build_new_local_event(remote_event) remote_event = RemoteEvent.new remote_event LocalEvent.new({ :uid => remote_event.uid.to_s, :title => remote_event.summary.to_s, :description => remote_event.description.to_s, :location => remote_event.location.to_s, :start_date_time => remote_event.start_date_time, :end_date_time => remote_event.end_date_time, :date_exclusions => [DateExclusion.new(remote_event.recurrence_id)], :recurrence_id => remote_event.recurrence_id, :recurrence => true }) end