use MooseX::Declare;
use Moose::Autobox;
-class Gitalist::Git::Object {
+class Gitalist::Git::Object is dirty {
use MooseX::Types::Moose qw/Str Int Bool Maybe ArrayRef/;
use MooseX::Types::Common::String qw/NonEmptySimpleStr/;
+ use overload '""' => '_to_string';
# repository and sha1 are required initargs
has repository => ( isa => 'Gitalist::Git::Repository',
method BUILD { $self->$_() for qw/_gpp_obj size modestr/ }
## Private methods
+ method _to_string {
+ return $self->sha1;
+ };
## Builders
method _build__gpp_obj {
is($object->mode, 16384, 'mode is correct');
is($object->modestr, 'drwxr-xr-x', "modestr is correct" );
is($object->size, 33, "size is correct");
+is($object,'729a7c3f6ba5453b42d16a43692205f67fb23bc1', 'stringifies correctly');
# Create object from sha1.
my $obj2 = Gitalist::Git::Object::Blob->new(