diff options
author | Jesse Luehrs <doy@tozt.net> | 2009-06-23 10:25:32 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2009-06-23 10:34:08 -0500 |
commit | 00d3d42d7e81c8b41ced52f4dcb8573224b8e64c (patch) | |
tree | 41d2c7db6112804463e177f4310ea29ba8239ef5 | |
parent | bff6b3ed58e48a7c10d71e11032ee4da81bb52a6 (diff) | |
download | moosex-extension-00d3d42d7e81c8b41ced52f4dcb8573224b8e64c.tar.gz moosex-extension-00d3d42d7e81c8b41ced52f4dcb8573224b8e64c.zip |
pull out on_import and on_unimport hooks from import list
-rw-r--r-- | lib/MooseX/Extension.pm | 6 |
1 files changed, 5 insertions, 1 deletions
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; } |