Introduce Gitalist::Git::Head.
[catagits/Gitalist.git] / lib / Gitalist / Git / Head.pm
1 package Gitalist::Git::Head;
2 use MooseX::Declare;
3
4 class Gitalist::Git::Head {
5     use Gitalist::Git::Types qw/SHA1/;
6     use MooseX::Types::Common::String qw/NonEmptySimpleStr/;
7     use MooseX::Types::DateTime qw/DateTime/;
8
9     has sha1        => ( isa      => SHA1,
10                          is       => 'ro',
11                          required => 1,
12                      );
13     has name        => ( isa      => NonEmptySimpleStr,
14                          is       => 'ro',
15                          required => 1,
16                      );
17     has committer   => ( isa      => NonEmptySimpleStr,
18                          is       => 'ro',
19                          required => 1,
20                      );
21     has last_change => ( isa      => DateTime,
22                          is       => 'ro',
23                          required => 1,
24                          coerce   => 1,
25                      );
26 }