X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FGitalist%2FGit%2FTag.pm;fp=lib%2FGitalist%2FGit%2FTag.pm;h=da14daf4a0e58f20db6f6667f856ae2e5bf22c9d;hb=5c07fcf1ae72bd9e16c5ed8ff0d1442b4a3773b0;hp=a0a8ea6bab41b35810257719b68fcf9e936eaec0;hpb=53fa77070d4838fafa68bec4362b64dec25d6aa0;p=catagits%2FGitalist.git diff --git a/lib/Gitalist/Git/Tag.pm b/lib/Gitalist/Git/Tag.pm index a0a8ea6..da14daf 100644 --- a/lib/Gitalist/Git/Tag.pm +++ b/lib/Gitalist/Git/Tag.pm @@ -1,12 +1,15 @@ package Gitalist::Git::Tag; + 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::Moose qw/Maybe Str/; -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', @@ -34,10 +37,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 { @@ -57,7 +59,7 @@ around BUILDARGS => sub { my ($subject, $commitinfo) = split /\0/, $rest, 2; my ($committer, $epoch, $tz) = $commitinfo =~ /(.*)\s(\d+)\s+([+-]\d+)$/; - my $dt = DateTime->from_epoch( + my $dt = DT->from_epoch( epoch => $epoch, time_zone => $tz, );