App::JobLog::Vacation::Period - extension of App::JobLog::Log::Event to handle special properties of vacation periods
version 1.042
App::JobLog::Vacation::Period extends App::JobLog::Log::Event to add repeating events and flexible time events and to allow a different serialization convention such that events take a single line in their file.
App::JobLog::Vacation::Period
Whether time in a period is "flexible". Flexible time off shrinks or expands to provide enough work hours to complete the day it occurs in.
Whether time in a period is "fixed". Fixed periods have a definite start and end time. Regular vacation time is just a fixed period of virtual work in the day but at nor particular time and flexible vacation time is just as much time as you need to fill out your work day, again without any particular start or end.
Whether this period repeats annually on a particular range of days in particular months.
Whether this period repeats monthly on a particular range of days.
Whether this vacation repeats periodically.
The description of the vacation period. Lvalue method.
Overrides App::JobLog::Log::Event's clone method to add cloning of special vacation properties.
clone
Overrides App::JobLog::Log::Event's cmp method so that repeating vacations sort above non-repeating ones.
cmp
Class method parsing line in vacation into a vacation object.
Serializes period into something printable in the vacation file.
Determines whether two events overlap in time.
Converts period into list of displayable parts: time, properties, tags, description.
Whether this period concerns a single day or a longer span of time.
Adjust start and end times for annual or monthly periods then delegates to superclass method in App::JobLog::Log::Event.
David F. Houghton <dfhoughton@gmail.com>
This software is copyright (c) 2011 by David F. Houghton.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install App::JobLog, copy and paste the appropriate command in to your terminal.
cpanm
cpanm App::JobLog
CPAN shell
perl -MCPAN -e shell install App::JobLog
For more information on module installation, please visit the detailed CPAN module installation guide.