X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FGitalist%2FGit%2FHasUtils.pm;h=e57f1c13cf420b2c5d283df86d63d1bf841f4318;hb=460b079a490cc638ecdd666c63d8edc09b7a8bcc;hp=99a2d61d715f5794982923c60efc0d12fa4186a0;hpb=50d45f00142b7a1fe1e1d2614328a7568ce38172;p=catagits%2FGitalist.git diff --git a/lib/Gitalist/Git/HasUtils.pm b/lib/Gitalist/Git/HasUtils.pm index 99a2d61..e57f1c1 100644 --- a/lib/Gitalist/Git/HasUtils.pm +++ b/lib/Gitalist/Git/HasUtils.pm @@ -1,32 +1,39 @@ -package Gitalist::Git::HasUtils; -use Moose::Role; -use Gitalist::Git::Util; -use namespace::autoclean; - -sub BUILD {} -after BUILD => sub { - my $self = shift; - $self->meta->get_attribute('_util')->get_read_method_ref->($self); # Force value build. -}; - -has _util => ( isa => 'Gitalist::Git::Util', - lazy => 1, - is => 'bare', - builder => '_build_util', - handles => [ 'run_cmd', - 'run_cmd_fh', - 'run_cmd_list', - 'get_gpp_object', - 'gpp', - ], - ); - -sub _build_util { confess(shift() . " cannot build _util") } +use MooseX::Declare; + +role Gitalist::Git::HasUtils { + use Gitalist::Git::Util; + + method BUILD {} + after BUILD { + # Force value build + $self->meta->get_attribute('_util')->get_read_method_ref->($self); + } + + has _util => ( + isa => 'Gitalist::Git::Util', + lazy => 1, + is => 'bare', + builder => '_build_util', + handles => [qw/ + run_cmd + run_cmd_fh + run_cmd_list + get_gpp_object + gpp + /], + traits => ['DoNotSerialize'] + ); + method _build_util { confess(shift() . " cannot build _util") } +} 1; __END__ +=head1 NAME + +Gitalist::Git::HasUtils - Role for classes with an instance of Gitalist::Git::Util + =head1 AUTHORS See L for authors.