App-TimeTracker
view release on metacpan or search on metacpan
equivalent (Thomas Sibley)
- only report description if --detail desc is set (Thomas Klausner)
- --detail now takes args (Thomas Klausner)
- new option to define what RT status to set on tracker start
(Thomas Klausner)
- Small typo fix in bin/tracker (Nelo Onyiah)
2.018 2012-11-29T11:10:34+0100
- use json decoder object (Thomas Klausner)
- enable proper posting of correctly decoded utf8 (Thomas Klausner)
- moved RT ticket name ascii-isation into method (Thomas Klausner)
- honor config value "parent" in project_tree (Thomas Klausner)
- dynamic 00-load.t (Thomas Klausner)
- squash a warning (cpan-rt75266) (Thomas Klausner)
- fix tag sorting (Jozef Kutej)
- set tracker script STDOUT to utf8 (Jozef Kutej)
- add description to the detail report (Jozef Kutej)
- Switch to Digest::SHA (in core since 5.9.3) to reduce external
deps (Roland Lammel)
lib/App/TimeTracker/Proto.pm view on Meta::CPAN
has 'config_file_locations' => (
is => 'ro',
isa => 'HashRef',
lazy_build => 1,
);
sub _build_config_file_locations {
my $self = shift;
my $file = $self->home->file('projects.json');
if ( -e $file && -s $file ) {
my $decoded_json;
try {
$decoded_json = decode_json( $file->slurp );
}
catch {
error_message( "Could not json decode '%s'.\nError: '%s'", $file, $_ );
exit 1;
};
return $decoded_json;
}
else {
return {};
}
}
has 'project' => ( is => 'rw', isa => 'Str', predicate => 'has_project' );
has 'json_decoder' => ( is => 'ro', isa => 'JSON::XS', lazy_build => 1 );
( run in 0.485 second using v1.01-cache-2.11-cpan-26ccb49234f )