Commit | Line | Data |
---|---|---|
2791fd73 | 1 | package Tak::WeakClient; |
2 | ||
3 | use Moo; | |
4 | ||
5 | extends 'Tak::Client'; | |
6 | ||
7 | has service => (is => 'ro', required => 1, weak_ref => 1); | |
8 | ||
542ab416 | 9 | sub 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 | 18 | 1; |