summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2009-06-23 10:24:28 -0500
committerJesse Luehrs <doy@tozt.net>2009-06-23 10:34:08 -0500
commitbff6b3ed58e48a7c10d71e11032ee4da81bb52a6 (patch)
tree16d2515c92e953c0b02795719aba34f2a28cb7af
parent294a24eca60a16479b0678faeb3661fbf8a5ec88 (diff)
downloadmoosex-extension-bff6b3ed58e48a7c10d71e11032ee4da81bb52a6.tar.gz
moosex-extension-bff6b3ed58e48a7c10d71e11032ee4da81bb52a6.zip
use Data::OptList to pull out things for also from import args
-rw-r--r--lib/MooseX/Extension.pm11
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;
}