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

location [location]

Get or set the location

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.

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.

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