diff options
author | Jesse Luehrs <doy@tozt.net> | 2009-06-23 10:24:28 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2009-06-23 10:34:08 -0500 |
commit | bff6b3ed58e48a7c10d71e11032ee4da81bb52a6 (patch) | |
tree | 16d2515c92e953c0b02795719aba34f2a28cb7af /lib/MooseX | |
parent | 294a24eca60a16479b0678faeb3661fbf8a5ec88 (diff) | |
download | moosex-extension-bff6b3ed58e48a7c10d71e11032ee4da81bb52a6.tar.gz moosex-extension-bff6b3ed58e48a7c10d71e11032ee4da81bb52a6.zip |
use Data::OptList to pull out things for also from import args
Diffstat (limited to 'lib/MooseX')
-rw-r--r-- | lib/MooseX/Extension.pm | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/MooseX/Extension.pm b/lib/MooseX/Extension.pm index ccfc54c..de49c2a 100644 --- a/lib/MooseX/Extension.pm +++ b/lib/MooseX/Extension.pm @@ -2,12 +2,19 @@ package MooseX::Extension; use Moose (); use Moose::Exporter; use Moose::Util::MetaRole; +use Data::OptList qw(mkopt_hash); -my ($import, $unimport); +my ($unimport, $args); sub import { my $caller = caller; - ($import, $unimport) = Moose::Exporter->build_import_methods; + shift; + $args = mkopt_hash(\@_); + my @also = grep { !defined $args->{$_} && delete $args->{$_} } keys %$args; + my $import; + ($import, $unimport) = Moose::Exporter->build_import_methods( + also => \@also, + ); goto $import; } |