Parent

Icalendar::Calendar

Public Class Methods

new() click to toggle source
# File lib/icalendar/calendar.rb, line 19
def initialize()
  super("VCALENDAR")

  # Set some defaults
  self.calscale = "GREGORIAN"    # Who knows, but this is the only one in the spec.
  self.prodid = "iCalendar-Ruby" # Current product... Should be overwritten by apps that use the library
  self.version = "2.0" # Version of the specification
end

Public Instance Methods

event(&block) click to toggle source
# File lib/icalendar/calendar.rb, line 42
def event(&block)
  e = Event.new
  # Note: I'm not sure this is the best way to pass this down, but it works
  e.tzid = self.timezones[0].tzid if self.timezones.length > 0

  self.add_component e

  if block
    e.instance_eval(&block)
    if e.tzid
      e.dtstart.ical_params = { "TZID" => e.tzid }
      e.dtend.ical_params = { "TZID" => e.tzid }
    end
  end

  e
end
find_event(uid) click to toggle source
# File lib/icalendar/calendar.rb, line 60
def find_event(uid)
  self.events.find {|e| e.uid == uid}
end
find_freebusy(uid) click to toggle source
# File lib/icalendar/calendar.rb, line 99
def find_freebusy(uid)
  self.freebusys.find {|f| f.uid == uid}
end
find_journal(uid) click to toggle source
# File lib/icalendar/calendar.rb, line 86
def find_journal(uid)
  self.journals.find {|j| j.uid == uid}
end
find_todo(uid) click to toggle source
# File lib/icalendar/calendar.rb, line 73
def find_todo(uid)
  self.todos.find {|t| t.uid == uid}
end
freebusy(&block) click to toggle source
# File lib/icalendar/calendar.rb, line 90
def freebusy(&block)
  e = Freebusy.new
  self.add_component e

  e.instance_eval(&block) if block

  e
end
journal(&block) click to toggle source
# File lib/icalendar/calendar.rb, line 77
def journal(&block)
  e = Journal.new
  self.add_component e

  e.instance_eval(&block) if block

  e
end
publish() click to toggle source

The "PUBLISH" method in a "VEVENT" calendar component is an unsolicited posting of an iCalendar object. Any CU may add published components to their calendar. The "Organizer" MUST be present in a published iCalendar component. "Attendees" MUST NOT be present. Its expected usage is for encapsulating an arbitrary event as an iCalendar object. The "Organizer" may subsequently update (with another "PUBLISH" method), add instances to (with an "ADD" method), or cancel (with a "CANCEL" method) a previously published "VEVENT" calendar component.

# File lib/icalendar/calendar.rb, line 121
def publish
  self.ip_method = "PUBLISH"
end
timezone(&block) click to toggle source
# File lib/icalendar/calendar.rb, line 103
def timezone(&block)
  e = Timezone.new
  self.add_component e

  e.instance_eval(&block) if block

  e
end
todo(&block) click to toggle source
# File lib/icalendar/calendar.rb, line 64
def todo(&block)
  e = Todo.new
  self.add_component e

  e.instance_eval(&block) if block

  e
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.