logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Data::ICal::Entry::Todo - Represents a to-do entry in an iCalendar file

Author

       Best Practical Solutions, LLC <modules@bestpractical.com>

Description

       A Data::ICal::Entry::Todo object represents a single to-do entry in an iCalendar file.  (Note that the
       iCalendar RFC refers to entries as "components".)  It is a subclass of Data::ICal::Entry and accepts all
       of its methods.

Methods

ical_entry_type
       Returns "VTODO", its iCalendar entry name.

   mandatory_unique_properties
       The "uid" property is mandatory if "rfc_strict" was passed to "new" in Data::ICal.

   optional_unique_properties
       According to the iCalendar standard, the following properties may be specified at most one time for a to-
       do item:

             class  completed  created  description  dtstamp
             dtstart  geo  last-modified  location  organizer
             percent-complete  priority  recurrence-id  sequence  status
             summary  uid  url

       In addition, "due" and "duration" may be specified at most once each, but not both in the same entry
       (though this restriction is not enforced).

       Or if "vcal10 => 1":

               class dcreated completed description dtstart due
               last-modified location rnum priority
               sequence status summary transp
               url uid

   optional_repeatable_properties
       According to the iCalendar standard, the following properties may be specified any number of times for a
       to-do item:

             attach  attendee  categories  comment  contact
             exdate  exrule  request-status  related-to  resources
             rdate  rrule

       Or if "vcal10 => 1":

               aalarm  attach  attendee  categories
               dalarm  exdate  exrule  malarm  palarm  related-to
               resources  rdate  rrule

Name

       Data::ICal::Entry::Todo - Represents a to-do entry in an iCalendar file

Synopsis

           my $vtodo = Data::ICal::Entry::Todo->new();
           $vtodo->add_properties(
               summary   => "go to sleep",
               status    => 'INCOMPLETE',
               # Dat*e*::ICal is not a typo here
               dtstart   => Date::ICal->new( epoch => time )->ical,
           );

           $calendar->add_entry($vtodo);

           $vtodo->add_entry($alarm);

See Also