From f143c2f7abc0b026d8825640c513732853311a43 Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Mon, 21 Feb 2011 12:31:44 -0600 Subject: make roles work --- lib/MooseX/Bread/Board.pm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'lib/MooseX/Bread/Board.pm') diff --git a/lib/MooseX/Bread/Board.pm b/lib/MooseX/Bread/Board.pm index fbf536b..2f4c4b8 100644 --- a/lib/MooseX/Bread/Board.pm +++ b/lib/MooseX/Bread/Board.pm @@ -8,6 +8,9 @@ my (undef, undef, $init_meta) = Moose::Exporter->build_import_methods( class => ['MooseX::Bread::Board::Meta::Role::Class'], instance => ['MooseX::Bread::Board::Meta::Role::Instance'], }, + #role_metaroles => { + #applied_attribute => ['MooseX::Bread::Board::Meta::Role::Attribute'], + #}, base_class_roles => ['MooseX::Bread::Board::Role::Object'], ); @@ -15,9 +18,11 @@ sub init_meta { my $package = shift; my %options = @_; if (my $meta = Class::MOP::class_of($options{for_class})) { - my @supers = $meta->superclasses; - $meta->superclasses('Bread::Board::Container') - if @supers == 1 && $supers[0] eq 'Moose::Object'; + if ($meta->isa('Class::MOP::Class')) { + my @supers = $meta->superclasses; + $meta->superclasses('Bread::Board::Container') + if @supers == 1 && $supers[0] eq 'Moose::Object'; + } } $package->$init_meta(%options); } -- cgit v1.2.3-54-g00ecf