summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2012-04-25 01:42:31 -0500
committerJesse Luehrs <doy@tozt.net>2012-04-25 01:42:31 -0500
commit53c7bea3992c4c79d361a758fa7f28268d817d71 (patch)
tree53ebf9b536dc5950a84f55a1fff2897a88221f89
parentc700061c7b00d18778389d0850d21f966bd25ec6 (diff)
downloadmoosex-abc-53c7bea3992c4c79d361a758fa7f28268d817d71.tar.gz
moosex-abc-53c7bea3992c4c79d361a758fa7f28268d817d71.zip
fix for moose 2.06
-rw-r--r--lib/MooseX/ABC.pm26
1 files changed, 17 insertions, 9 deletions
diff --git a/lib/MooseX/ABC.pm b/lib/MooseX/ABC.pm
index fd8e4c8..45ac796 100644
--- a/lib/MooseX/ABC.pm
+++ b/lib/MooseX/ABC.pm
@@ -53,22 +53,30 @@ sub requires {
shift->add_required_method(@_);
}
-my ($import, $unimport, $init_meta) = Moose::Exporter->build_import_methods(
- with_meta => [qw(requires)],
- install => [qw(import unimport)],
- class_metaroles => {
- class => ['MooseX::ABC::Trait::Class'],
- },
- base_class_roles => ['MooseX::ABC::Role::Object'],
+Moose::Exporter->setup_import_methods(
+ with_meta => [qw(requires)],
);
sub init_meta {
my ($package, %options) = @_;
+
Carp::confess("Can't make a role into an abstract base class")
if Class::MOP::class_of($options{for_class})->isa('Moose::Meta::Role');
- my $ret = $init_meta->(@_);
+
+ Moose::Util::MetaRole::apply_metaroles(
+ for => $options{for_class},
+ class_metaroles => {
+ class => ['MooseX::ABC::Trait::Class'],
+ },
+ );
+ Moose::Util::MetaRole::apply_base_class_roles(
+ for => $options{for_class},
+ roles => ['MooseX::ABC::Role::Object'],
+ );
+
Class::MOP::class_of($options{for_class})->is_abstract(1);
- return $ret;
+
+ return Class::MOP::class_of($options{for_class});
}
=head1 SEE ALSO