Data::...y::Todo(3pm)

πŸ“¦
version 0.24 Β· 6 versions
, in ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– Data::ICal::Entry::Todo πŸ’–

okay bestie, come sit with me, we're talking about Data::ICal::Entry::Todo β€” yeah that's the one, from the User Contributed Perl Documentation, and it lives at Data::ICal::Entry::Todo(3pm) if you're the kind of girl who cites her sources. periodt. ✨


🌸 NAME 🌸

Data::ICal::Entry::Todo β€” no cap, this is the thing that represents a to-do entry in an iCalendar file. iconic behavior honestly πŸŽ€


✨ SYNOPSIS ✨

here's the vibe, use it like this:

    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);
πŸ’€ bestie the Dat*e*::ICal is not a typo here comment is IN the synopsis, I'm not playing, that's canon, that's in the source, we do not touch it. also notice it's Date::ICal in the code and Data::ICal in the package β€” yes queen, they really did that, and it's giving deliberate.

πŸ¦‹ DESCRIPTION πŸ¦‹

so. a Data::ICal::Entry::Todo object = one single to-do entry in an iCalendar file. one. singular. main character energy πŸ‘‘

little lore drop: the iCalendar RFC calls these entries "components" (not to be confused, it's just the same thing with a fancier name πŸ’…). also it's a subclass of Data::ICal's Data::ICal::Entry, which means it accepts all of Data::ICal::Entry's methods. inherited the whole wardrobe, slay. 🫢


πŸ”₯ METHODS πŸ”₯

🌈 ical_entry_type

returns "VTODO" β€” that's its iCalendar entry name. that's it. that's the whole job. simple, effective, ate. ⭐

🌸 mandatory_unique_properties

the uid property is mandatory β€” but ONLY if rfc_strict got passed to new in Data::ICal. no rfc_strict? no pressure. it's giving conditional. 😌

πŸ’… optional_unique_properties

per the iCalendar standard, these properties can be specified at most one time each 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

and ALSO, extra lore: due and duration can each be specified at most once, but not both in the same entry. ⚠️ ok and the real tea? that restriction is not enforced. so the rule exists, the rule is real, and nothing stops you. do with that information what you will πŸ™ˆ

or, if vcal10 => 1:

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

🧚 optional_repeatable_properties

per the iCalendar standard, THESE ones can be specified any number of times for a to-do item. go off, repeat yourself, it's allowed here:

      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

πŸ‘‘ AUTHOR πŸ‘‘

Best Practical Solutions, LLC <modules@bestpractical.com> πŸ’œ


Copyright (c) 2005 - 2020, Best Practical Solutions, LLC. All rights reserved.

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See perlartistic. πŸ“


okay that's the whole page bestie, you're fully caught up, go build a calendar and get your beauty sleep (the synopsis literally says go to sleep, it's in the docs, it's basically doctor's orders 😭) β€” this was Data::...y::Todo(3pm), built with perl v5.36.0, dated 2022-10-14, mwah πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from