NAME

MooseX-LeakCheck - Check for leaky attributes

DESCRIPTION

Define an attribute that you know should be the only remaining ref to an object when your instance is destroyed. On destruction verify the attribute is also destroyed.

SYNOPSIS

package Foo;
use MooseX::LeakCheck;

has bar => (
    is => 'ro',
    default => sub {[]},
    leak_check => 1,
);

has baz => (
    is => 'ro',
    default => sub {[]},
    leak_check => sub {
        my $self = shift;
        my ( $attr_name, $ref ) = @_;
        ...
    }
);

has boo => (
    is => 'ro',
    default => sub {[]},
    # Defaults to no
    leak_check => 0,
);

1;

ATTRIBUTE PROPERTIES

leak_check => $BOOL
leak_check => sub { ... }

Turn on leak checking for the attribute when set to true. Generates a warning when a leak is detected. Alternatively you may provide a coderef callback to run when a leak is detected.

The coderef gets the following args: ( $self, $attr_name, \$self->{$attr_name})

AUTHORS

Chad Granum exodist7@gmail.com

COPYRIGHT

Copyright (C) 2012 Chad Granum

MooseX::LeakCheck is free software; Standard perl licence.

MooseX::LeakCheck is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for more details.