Perl::Critic::Policy::Moose::ProhibitDESTROYMethod - Use DEMOLISH instead of DESTROY
version 1.05
Getting the order of destructor execution correct with inheritance involved is difficult. Let Moose take care of it for you by putting your cleanup code into a DEMOLISH() method instead of a DESTROY() method.
DEMOLISH()
DESTROY()
# ok package Foo; use Moose::Role; sub DEMOLISH { ... } # not ok package Foo; use Moose::Role; sub DESTROY { ... }
This policy is part of Perl::Critic::Moose.
There is a single option, equivalent_modules. This allows you to specify modules that should be treated the same as Moose and Moose::Role, if, say, you were doing something with Moose::Exporter. For example, if you were to have this in your .perlcriticrc file:
equivalent_modules
[Moose::ProhibitDESTROYMethod] equivalent_modules = MyCompany::Moose MooseX::NewThing
then the following code would result in a violation:
package Baz; use MyCompany::Moose; sub DESTROY { ... }
Moose::Manual::Construction
Bugs may be submitted through the RT bug tracker (or bug-perl-critic-moose@rt.cpan.org).
I am also usually active on IRC as 'drolsky' on irc://irc.perl.org.
irc://irc.perl.org
Elliot Shank <perl@galumph.com>
Dave Rolsky <autarch@urth.org>
This software is copyright (c) 2008 - 2016 by Elliot Shank.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Perl::Critic::Moose, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Perl::Critic::Moose
CPAN shell
perl -MCPAN -e shell install Perl::Critic::Moose
For more information on module installation, please visit the detailed CPAN module installation guide.