NAME
Class::DBI::Plugin::Calendar - Simple Calendar Support for Class::DBI
SYNOPSIS
package DB;
use base 'Class::DBI';
use Class::DBI::Plugin::Calendar qw(date_fieldname);
# the same as Calendar::Simple::calendar
my @weeks = DB->calendar; # current month, based on Calendar::Simple
for my $week (@weeks) {
for my $day (@$week) {
if($day->ok) {
printf '%03d', $day->date->mday;
} else { # just a placeholder
print " ";
}
print "\n";
}
}
@events = $day->events unless $day->empty;
DESCRIPTION
These are simple objects which represent days in Class::DBI::Plugin::Calendar applications.
my $time_piece = $day->ok
This means that this day refers to a real day, and is not just a placeholder so that the week in which it resides may contain seven days. This should be called before $day->date for each object. Otherwise, you're in danger of croak()ing. Aliases are: is, good, is_good, is_ok.
my $time_piece = $day->date
This returns a Time::Piece object representing the date. You must call $day->ok before this method, since the application will croak() if this day does not represent a valid date. (It may be a simple placeholder so that weeks always have seven days, in order.
my $num = $day->num_events
This gives the number of events in the day. Aliases: num, sum, has.
my $has_none = $day->empty
The opposite of num_events.
my $num = $day->agenda
The events for that day, ordered by date_fieldname (above). Aliases: objects, events
SEE ALSO
Class::DBI, Calendar::Simple, Class::DBI::Plugin::Calendar
AUTHOR
James Tolley, <james@bitperfect.com>
COPYRIGHT AND LICENSE
Copyright (C) 2005 by James Tolley
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.6 or, at your option, any later version of Perl 5 you may have available.