use Moo;
use Mojo::JSON qw(true);
-use Scalar::Util qw(blessed);
+use Scalar::Util qw(blessed weaken);
use Types::Standard -all;
use Type::Utils;
sub _build_bug {
my ($self) = @_;
- return $self->{bug} ||= Bugzilla::Bug->new({id => $self->bug_id, cache => 1});
+ my $bug = $self->{bug} ||= Bugzilla::Bug->new({id => $self->bug_id, cache => 1});
+ weaken($self->{bug});
+ return $bug;
}
sub _build_author {
use Bugzilla::Extension::PhabBugz::Util qw(request);
use List::Util qw(first);
+use Scalar::Util qw(weaken);
use Types::Standard -all;
use Type::Utils;
use Type::Params qw(compile);
sub _build_bugzilla_user {
my ($self) = @_;
return undef unless $self->bugzilla_id;
- return Bugzilla::User->new({id => $self->bugzilla_id, cache => 1});
+ my $user = $self->{user} ||= Bugzilla::User->new({id => $self->bugzilla_id, cache => 1});
+ weaken($self->{user});
+ return $user;
}
sub get_phab_bugzilla_ids {