Commit | Line | Data |
3fea05b9 |
1 | package Git::PurePerl::Object; |
2 | use Moose; |
3 | use MooseX::StrictConstructor; |
4 | use Moose::Util::TypeConstraints; |
5 | use namespace::autoclean; |
6 | |
7 | enum 'ObjectKind' => qw(commit tree blob tag); |
8 | |
9 | has 'kind' => ( is => 'ro', isa => 'ObjectKind', required => 1 ); |
10 | has 'size' => ( is => 'ro', isa => 'Int', required => 1 ); |
11 | has 'content' => ( is => 'rw', isa => 'Str', required => 1 ); |
12 | has 'sha1' => ( is => 'ro', isa => 'Str', required => 1 ); |
13 | has 'git' => ( is => 'ro', isa => 'Git::PurePerl', required => 1, weak_ref => 1 ); |
14 | |
15 | __PACKAGE__->meta->make_immutable; |
16 | |
17 | 1; |