Sha256: a670a4db515893fa0704157a33f40423b76961357845496dd00d6aea3d89fd7e

Contents?: true

Size: 1.08 KB

Versions: 8

Compression:

Stored size: 1.08 KB

Contents

module Icalendar
  class Calendar < Component

    attr_accessor :events, :todos, :journals, :freebusys, :timezones
    
    def initialize()
      super("VCALENDAR")
      @properties = {}
      @property_params = {}
      
      @events = []
      @todos = []
      @journals = []
      @freebusys = []
      @timezones = []
    end

    def add(component)
      if component.is_a? Event
          @events << component
        elsif component.is_a? Todo
          @todos << component
        elsif component.is_a? Journal
          @journals << component
        elsif component.is_a? Freebusy
          @freebusys << component
        elsif component.is_a? Timezone
          @timezones << component
        else
          raise InvalidComponentClass
      end
    end
    
    def to_s
      print_string do |s|
        @events.each { |event| s << event.to_s }
        @todos.each { |todo| s << todo.to_s }
        @journals.each { |journal| s << journal.to_s }
        @freebusys.each { |freebusy| s << freebusy.to_s }
        @timezones.each { |timezone| s << timezone.to_s }
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
bigtinker-0.94 extras/icalendar/calendar.rb
bigtinker-0.93 extras/icalendar/calendar.rb
bigtinker-0.98 lib/icalendar/calendar.rb
bigtinker-0.95 extras/icalendar/calendar.rb
rwdschedule-0.07 lib/icalendar/calendar.rb
rwdschedule-1.01 extras/icalendar/calendar.rb
rwdschedule-1.02 extras/icalendar/calendar.rb
rwdschedule-1.00 extras/icalendar/calendar.rb