NAME
App::JobLog::Vacation::Period - extension of App::JobLog::Log::Event to handle special properties of vacation periods
VERSION
version 1.042
DESCRIPTION
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.
METHODS
flex
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.
fixed
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.
annual
Whether this period repeats annually on a particular range of days in particular months.
annual
Whether this period repeats monthly on a particular range of days.
repeats
Whether this vacation repeats periodically.
description
The description of the vacation period. Lvalue method.
clone
Overrides App::JobLog::Log::Event's clone
method to add cloning of special vacation properties.
cmp
Overrides App::JobLog::Log::Event's cmp
method so that repeating vacations sort above non-repeating ones.
parse
Class method parsing line in vacation into a vacation object.
to_string
Serializes period into something printable in the vacation file.
conflicts
Determines whether two events overlap in time.
parts
Converts period into list of displayable parts: time, properties, tags, description.
single_day
Whether this period concerns a single day or a longer span of time.
overlap
Adjust start and end times for annual or monthly periods then delegates to superclass method in App::JobLog::Log::Event.
AUTHOR
David F. Houghton <dfhoughton@gmail.com>
COPYRIGHT AND LICENSE
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.