X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=scpubgit%2FTak.git;a=blobdiff_plain;f=lib%2FTak%2FWeakClient.pm;fp=lib%2FTak%2FWeakClient.pm;h=3beb39c08d9b375cfab5d00a37de4ee293575bf8;hp=dd4ae0e3264c1344e536cbad4e721d8a31ec0c14;hb=542ab4162ceb2ed5deadae8e8440af2046e45674;hpb=fe725d6e99834f26f20ce3f78eda9591c0d4a7d1 diff --git a/lib/Tak/WeakClient.pm b/lib/Tak/WeakClient.pm index dd4ae0e..3beb39c 100644 --- a/lib/Tak/WeakClient.pm +++ b/lib/Tak/WeakClient.pm @@ -6,4 +6,13 @@ extends 'Tak::Client'; has service => (is => 'ro', required => 1, weak_ref => 1); +sub clone_or_self { + my ($self) = @_; + my $new = $self->service->clone_or_self; + ($new ne $self->service + ? 'Tak::Client' + : ref($self))->new(service => $new, curried => [ @{$self->curried} ]); +} + + 1;