clone_or_self
[scpubgit/Tak.git] / lib / Tak / WeakClient.pm
CommitLineData
2791fd73 1package Tak::WeakClient;
2
3use Moo;
4
5extends 'Tak::Client';
6
7has service => (is => 'ro', required => 1, weak_ref => 1);
8
542ab416 9sub clone_or_self {
10 my ($self) = @_;
11 my $new = $self->service->clone_or_self;
12 ($new ne $self->service
13 ? 'Tak::Client'
14 : ref($self))->new(service => $new, curried => [ @{$self->curried} ]);
15}
16
17
2791fd73 181;