NAME
MooseX::AutoDestruct - Clear your attributes after a certain time
VERSION
version 0.008
SYNOPSIS
package Foo;
use Moose;
use namespace::autoclean;
use MooseX::AutoDestruct;
has foo => (
traits => ['AutoDestruct'],
is => 'ro', isa => 'Str', lazy_build => 1,
ttl => 600, # time, in seconds
);
sub _build_foo { --some expensive operation-- }
DESCRIPTION
MooseX::AutoDestruct is an attribute metaclass trait that causes your
attribute value to be cleared after a certain time from when the value
has been set.
This trait will work regardless of how the value is populated or if a
clearer method has been installed; or if the value is accessed via the
installed accessors or by accessing the attribute metaclass itself.
TRAITS APPLIED
No traits are automatically applied to any metaclasses; however, on
use'ing this package an 'AutoDestruct' attribute trait becomes
available.
USAGE
Apply the AutoDestruct trait to your attribute metaclass (e.g. "traits
=> ['AutoDestruct']") and supply a ttl value.
Typical usage of this could be for an attribute to store a value that is
expensive to calculate, and can be counted on to be valid for a certain
amount of time (e.g. caching). Builders are your friends :)
SEE ALSO
Class::MOP, Moose.
AUTHOR
Chris Weyl, "<cweyl at alumni.drew.edu>"
BUGS
Please report any bugs or feature requests to "bug-moosex-autodestruct
at rt.cpan.org", or through the web interface at
<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=MooseX-AutoDestruct>.
AUTHOR
Chris Weyl <cweyl@alumni.drew.edu>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2011 by Chris Weyl.
This is free software, licensed under:
The GNU Lesser General Public License, Version 2.1, February 1999