The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Net::Google::Calendar::Entry - entry class for Net::Google::Calendar

SYNOPSIS

    my $event = Net::Google::Calendar::Entry->new();
    $event->title('Party!');
    $event->content('P-A-R-T-Why? Because we GOTTA!');
    $event->location("My Flat, London, England");
    $event->status('confirmed'); 
    $event->transparency('opaque');
    $event->visibility('private'); 

    my $author = Net::Google::Calendar::Person->new;
    $author->name('Foo Bar');
    $author->email('foo@bar.com');
    $entry->author($author);

DESCRIPTION

METHODS

new

Create a new Event object

id [id]

Get or set the id.

title [title]

Get or set the title.

content [content]

Get or set the content.

author [author]

Get or set the author

transparency [transparency]

Get or set the transparency. Transparency should be one of

    opaque
    transparent

visibility [visibility]

Get or set the visibility. Visibility should be one of

    confidential
    default
    private
    public 

status [status]

Get or set the status. Status should be one of

    canceled
    confirmed
    tentative

is_allday

Get the allday flag.

Returns 1 of event is an All Day event, 0 if not, undef if it can't be determined.

extended_property [property]

Get or set an extended property

location [location]

Get or set the location

quick_add [bool]

Get or set whether this is a a quick add entry or not.

when [<start> <end> [allday]]

Get or set the start and end time as supplied as DateTime objects. End must be more than start.

You may optionally pass a paramter in designating if this is an all day event or not.

Returns two DateTime objects depicting the start and end and a flag noting whether it's an all day event.

reminder <method> <type> <when>

Sets a reminder on this entry.

method must be one of:

    alert email sms

type must be one of

    days hours minutes absoluteTime

If the type is absoluteTime then when should be either a iso formatted date string or a DateTime object.

who [Net::Google::Calendar::Person[s]]

Get or set the list of event invitees.

If no parameters are passed then it returns a list containing zero or more Net::Google::Calendar::Person objects.

If you pass in one or more Net::Google::Calendar::Person objects then they get set as the invitees.

comments [comment[s]]

Get or set Comments object.

edit_url

Return the edit url of this event.

self_url

Return the self url of this event.

html_url

Return the 'alternate' browser-friendly url of this event.

recurrence [ Data::ICal::Entry::Event ]

Get or set a recurrence for an entry - this is in the form of a Data::ICal::Entry::Event object.

Returns undef if there's no recurrence event

This will not work if Data::ICal is not installed and will return undef.

For example ...

    $event->title('Pay Day');
    $event->start(DateTime->now);

    my $recurrence = Data::ICal::Entry::Event->new();


    my $last_day_of_the_month = DateTime::Event::Recurrence->monthly( days => -1 );
    $recurrence->add_properties(
               dtstart   => DateTime::Format::ICal->format_datetime(DateTime->now),
               rrule     => DateTime::Format::ICal->format_recurrence($last_day_of_the_month),
    );

    $entry->recurrence($recurrence);

To get the recurrence back:

    print $entry->recurrence->a_string;

See

    http://code.google.com/apis/gdata/common-elements.html#gdRecurrence

For more details

Adds the link $link, which must be an XML::Atom::Link object, to the entry as a new <link> tag. For example:

    my $link = XML::Atom::Link->new;
    $link->type('text/html');
    $link->rel('alternate');
    $link->href('http://www.example.com/2003/12/post.html');
    $entry->add_link($link);

TODO

more complex content
more complex locations
recurrency
comments

See http://code.google.com/apis/gdata/common-elements.html for details

AUTHOR

Simon Wistow <simon@thegestalt.org>

COPYRIGHT

Copyright Simon Wistow, 2006

Distributed under the same terms as Perl itself.

SEE ALSO

http://code.google.com/apis/gdata/common-elements.html

Net::Google::Calendar

XML::Atom::Event