App-JobLog

 view release on metacpan or  search on metacpan

lib/App/JobLog/Command/info.pm  view on Meta::CPAN

would produce something like

   2011 2 1 15 19 12:foo:what I am doing now
   2011 2 1 16 19 12:foo:now something else

When you are done with the last task of the day, or your stop to take a break, you type

   $executable @{[App::JobLog::Command::done->name]}

which adds something like

   2011 2 1 16 19 12:DONE

to the log. Note the single colon. In this case I<DONE> is not a tag. Tags are always sandwiched between
two delimiters. I<DONE> here just marks the line as the end of a task.

When you come back to work you can type

   $executable @{[App::JobLog::Command::resume->name]}

to add a new line to the log with the same description and tags as the last task you began.

==head2 Summary Commands

The log is of little use if you cannot extract useful reports of what it contains. For this there are a
variety of commands.

==over 8

==item B<@{[App::JobLog::Command::summary->name]}>

The most extensive and featureful log report command. Example:

 \$ job summary yesterday
 Monday, 14 March
    9:46 - 10:11 am  0.41  widgets  modifying name normalization code to use dates
   10:17 - 10:55 am  0.62  widgets  modifying name normalization code to use dates
     1:49 - 2:08 pm  0.32  widgets  testing PGA file to see whether Felix Frankfurter is still there

   TOTAL HOURS 1.35
    widgets    1.35

==item B<@{[App::JobLog::Command::last->name]}>

The last event recorded. Example:

 \$ job last
 Tuesday, 15 March
   5:07 pm - ongoing  0.00  foo  muttering

   TOTAL HOURS 0.00
   foo         0.00

==item B<@{[App::JobLog::Command::today->name]}>

Everything you've done today. Example:

 \$ job today
 Tuesday, 15 March
   11:33 - 11:35 am  0.04  widgets  checking up on Lem's issue with pipeline
   11:38 - 11:46 am  0.12  widgets  checking up on Lem's issue with pipeline; figuring out null pointer in multi-threaded code
    12:40 - 1:11 pm  0.52  widgets  debugging null pointers

   TOTAL HOURS 0.68
    widgets    0.68

==back

==head2 Obtaining Further Information

If you wish further information there are severals routes:

==over 8

==item B<$executable>

If you invoke B<Job Log> without any arguments you will receive a list of its commands.

==item B<$executable commands>

Another way to obtain a list of commands.

==item B<--help>

Every command has a C<--help> option which will provide minimal help text and a complete list of the options the command
understands.

==item B<$executable help <command>>

The C<help> command will provide a command's full usage text.

==item B<$executable @{[__PACKAGE__->name]} --man>

This command's C<--man> option provides still more extensive help text.

==item B<perldoc>

The Perl modules of which this application is composed each have their own documentation. For example, try

  perldoc App::JobLog

==back

B<TIP:> any unambigous prefix of a command will do. All the following are equivalent:

@{[join "\n", map {"   $executable $_ doing something"} $self->_unambiguous_prefixes(App::JobLog::Command::add->name)]}

This means that for almost all commands you need only use the first letter of the command name.
END
}

sub _advanced_usage {
    my ( $self, $executable ) = (@_);
    return <<END;

==head1 Environment Variables

B<Job Log> is sensitive to a single environment variable:

==head2 @{[DIRECTORY()]}



( run in 0.460 second using v1.01-cache-2.11-cpan-39bf76dae61 )