| Class | TaskJuggler::ICalendar::Component |
| In: |
lib/taskjuggler/ICalendar.rb
|
| Parent: | Object |
Base class for all ICalendar components.
| description | [RW] | |
| organizer | [RW] | |
| relatedTo | [RW] | |
| uid | [R] |
# File lib/taskjuggler/ICalendar.rb, line 36 def initialize(ical, uid, summary, startDate) @ical = ical @type = self.class.to_s.split('::').last.upcase @uid = uid + "-#{@type}" @summary = summary @startDate = startDate # Optional attributes @description = nil @relatedTo = nil @organizer = nil @attendees = [] end
# File lib/taskjuggler/ICalendar.rb, line 54 def addAttendee(name, email) @attendees << Person.new(name, email) end
# File lib/taskjuggler/ICalendar.rb, line 50 def setOrganizer(name, email) @organizer = Person.new(name, email) end
# File lib/taskjuggler/ICalendar.rb, line 58 def to_s str = "BEGIN:V\#{@type}\nDTSTAMP:\#{dateTime(TjTime.new.utc)}\nCREATED:\#{dateTime(@ical.creationDate)}\nUID:\#{@uid}\nLAST-MODIFIED:\#{dateTime(@ical.lastModified)}\nSUMMARY:\#{quoted(@summary)}\nDTSTART:\#{dateTime(@startDate)}\n" str += "DESCRIPTION:#{quoted(@description)}\n" if @description str += "RELATED-TO:#{@relatedTo}\n" if @relatedTo if @organizer str += "ORGANIZER;CN=#{@organizer.name}:mailto:#{@organizer.email}\n" end @attendees.each do |attendee| str += "ATTENDEE;CN=#{attendee.name}:mailto:#{attendee.email}\n" end str += yield if block_given? str += "END:V#{@type}\n\n" end