Sha256: a9f70cde0f718d504f72077636da64663179101bf59c2870ae863ea5d85ffc7c

Contents?: true

Size: 627 Bytes

Versions: 28

Compression:

Stored size: 627 Bytes

Contents

module IcalImporter
  class Collector
    attr_reader :single_events, :events, :recurrence_events

    def initialize(events)
      @events = events
      @single_events = []
      @recurrence_events = []
    end

    def collect
      self.tap do
        recurrence_builder = RecurrenceEventBuilder.new
        single_events.tap do |c|
          events.each do |remote_event|
            c << Builder.new(remote_event, recurrence_builder).build
          end
          @recurrence_events = recurrence_builder.build.built_events.flatten.compact
          c.flatten!
          c.compact!
        end
      end
    end
  end
end

Version data entries

28 entries across 28 versions & 1 rubygems

Version Path
ical_importer-0.5.1 lib/ical_importer/collector.rb
ical_importer-0.5.0 lib/ical_importer/collector.rb
ical_importer-0.4.0 lib/ical_importer/collector.rb
ical_importer-0.3.0 lib/ical_importer/collector.rb
ical_importer-0.2.0 lib/ical_importer/collector.rb
ical_importer-0.1.3 lib/ical_importer/collector.rb
ical_importer-0.1.2 lib/ical_importer/collector.rb
ical_importer-0.1.1 lib/ical_importer/collector.rb
ical_importer-0.1.0 lib/ical_importer/collector.rb
ical_importer-0.0.19 lib/ical_importer/collector.rb
ical_importer-0.0.18 lib/ical_importer/collector.rb
ical_importer-0.0.17 lib/ical_importer/collector.rb
ical_importer-0.0.16 lib/ical_importer/collector.rb
ical_importer-0.0.15 lib/ical_importer/collector.rb
ical_importer-0.0.14 lib/ical_importer/collector.rb
ical_importer-0.0.13 lib/ical_importer/collector.rb
ical_importer-0.0.12 lib/ical_importer/collector.rb
ical_importer-0.0.11 lib/ical_importer/collector.rb
ical_importer-0.0.10 lib/ical_importer/collector.rb
ical_importer-0.0.9 lib/ical_importer/collector.rb