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

NAME

Class::DBI::Plugin::Calendar::Day - Calendar Day Support for Class::DBI

SYNOPSIS

  package DB;
  use base 'Class::DBI';
  use Class::DBI::Plugin::Calendar qw(date_fieldname);

  my @weeks = DB->calendar; # current month, based on Calendar::Simple
  for my $week (@weeks) {
    for my $day (@$week) { # always 7 days, some may be placeholders
      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 $real = $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 @events = $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.