X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FGitalist%2FGit%2FHead.pm;h=53f689f5244abbfd213009893fd54b0bcbf382ea;hb=5c07fcf1ae72bd9e16c5ed8ff0d1442b4a3773b0;hp=9301a31d6d3ede8f68a75ebe092282491deec145;hpb=53fa77070d4838fafa68bec4362b64dec25d6aa0;p=catagits%2FGitalist.git diff --git a/lib/Gitalist/Git/Head.pm b/lib/Gitalist/Git/Head.pm index 9301a31..53f689f 100644 --- a/lib/Gitalist/Git/Head.pm +++ b/lib/Gitalist/Git/Head.pm @@ -1,11 +1,15 @@ package Gitalist::Git::Head; + use Moose; use namespace::autoclean; -use Gitalist::Git::Types qw/SHA1/; +with 'Gitalist::Git::Serializable'; + use MooseX::Types::Common::String qw/NonEmptySimpleStr/; -use MooseX::Types::DateTime; -use DateTime; +use MooseX::Types::Moose qw/Maybe/; +use Gitalist::Git::Types qw/SHA1 DateTime/; + +use aliased 'DateTime' => 'DT'; has sha1 => ( isa => SHA1, is => 'ro', @@ -19,10 +23,9 @@ has committer => ( isa => NonEmptySimpleStr, is => 'ro', required => 1, ); -has last_change => ( isa => 'DateTime', +has last_change => ( isa => Maybe[DateTime], is => 'ro', required => 1, - coerce => 1, ); around BUILDARGS => sub { @@ -38,7 +41,7 @@ around BUILDARGS => sub { my ($committer, $epoch, $tz) = $commitinfo =~ /(.*)\s(\d+)\s+([+-]\d+)$/; - my $dt = DateTime->from_epoch( + my $dt = DT->from_epoch( epoch => $epoch, time_zone => $tz, );