Sha256: d28fb2e4d107691a15e5c762e3f4086a04a72da00143b4d1efad9c08a14f0b70

Contents?: true

Size: 1.08 KB

Versions: 11

Compression:

Stored size: 1.08 KB

Contents

module IcalImporter
  class RecurrenceEventBuilder
    attr_reader :events_to_build, :built_events
    def initialize
      @events_to_build = []
      @built_events = []
    end

    def <<(event)
      raise ArgumentError, "Must be a RiCal Event" unless event.is_a? RiCal::Component::Event
      @events_to_build << event
    end

    def build
      self.tap do
        events_to_build.each do |remote_event|
          @built_events << build_new_local_event(remote_event)
        end
      end
    end

    private

    def build_new_local_event(remote_event)
      remote_event = RemoteEvent.new remote_event
      LocalEvent.new({
        :uid => remote_event.uid,
        :title => remote_event.summary,
        :description => remote_event.description,
        :location => remote_event.location || '',
        :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
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
ical_importer-0.2.0 lib/ical_importer/recurrence_event_builder.rb
ical_importer-0.1.3 lib/ical_importer/recurrence_event_builder.rb
ical_importer-0.1.2 lib/ical_importer/recurrence_event_builder.rb
ical_importer-0.1.1 lib/ical_importer/recurrence_event_builder.rb
ical_importer-0.1.0 lib/ical_importer/recurrence_event_builder.rb
ical_importer-0.0.19 lib/ical_importer/recurrence_event_builder.rb
ical_importer-0.0.18 lib/ical_importer/recurrence_event_builder.rb
ical_importer-0.0.17 lib/ical_importer/recurrence_event_builder.rb
ical_importer-0.0.16 lib/ical_importer/recurrence_event_builder.rb
ical_importer-0.0.15 lib/ical_importer/recurrence_event_builder.rb
ical_importer-0.0.14 lib/ical_importer/recurrence_event_builder.rb