From 00d3d42d7e81c8b41ced52f4dcb8573224b8e64c Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Tue, 23 Jun 2009 10:25:32 -0500 Subject: pull out on_import and on_unimport hooks from import list --- lib/MooseX/Extension.pm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/MooseX/Extension.pm b/lib/MooseX/Extension.pm index de49c2a..f69c181 100644 --- a/lib/MooseX/Extension.pm +++ b/lib/MooseX/Extension.pm @@ -4,7 +4,7 @@ use Moose::Exporter; use Moose::Util::MetaRole; use Data::OptList qw(mkopt_hash); -my ($unimport, $args); +my ($unimport, $on_unimport, $args); sub import { my $caller = caller; @@ -15,10 +15,14 @@ sub import { ($import, $unimport) = Moose::Exporter->build_import_methods( also => \@also, ); + $args->{-on_import}->($caller) if defined $args->{-on_import}; + $on_unimport = delete $args->{-on_unimport}; goto $import; } sub unimport { + my $caller = caller; + $on_unimport->($caller) if defined $on_unimport; goto $unimport; } -- cgit v1.2.3