Parent

Class/Module Index [+]

Quicksearch

TaskJuggler::ICalendar::Component

Base class for all ICalendar components.

Attributes

description[RW]
organizer[RW]
relatedTo[RW]
uid[R]

Public Class Methods

new(ical, uid, summary, startDate) click to toggle source
# File lib/taskjuggler/ICalendar.rb, line 34
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

Public Instance Methods

addAttendee(name, email) click to toggle source
# File lib/taskjuggler/ICalendar.rb, line 52
def addAttendee(name, email)
  @attendees << Person.new(name, email)
end
setOrganizer(name, email) click to toggle source
# File lib/taskjuggler/ICalendar.rb, line 48
def setOrganizer(name, email)
  @organizer = Person.new(name, email)
end
to_s() click to toggle source
# File lib/taskjuggler/ICalendar.rb, line 56
def to_s
  str = BEGIN:V#{@type}DTSTAMP:#{dateTime(TjTime.new.utc)}CREATED:#{dateTime(@ical.creationDate)}UID:#{@uid}LAST-MODIFIED:#{dateTime(@ical.lastModified)}SUMMARY:#{quoted(@summary)}DTSTART:#{dateTime(@startDate)}
  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

[Validate]

Generated with the Darkfish Rdoc Generator 2.