diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/MooseX/NonMoose.pm | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/lib/MooseX/NonMoose.pm b/lib/MooseX/NonMoose.pm index 797bf5b..4f8e2b6 100644 --- a/lib/MooseX/NonMoose.pm +++ b/lib/MooseX/NonMoose.pm @@ -8,15 +8,12 @@ Moose::Exporter->setup_import_methods( sub extends_nonmoose { my $caller = shift; + my @superclasses = @_; - my @moose_classes = grep { $_->isa('Moose::Object') } @_; - Moose->throw_error( - 'extends_nonmoose can only be used on non-Moose classes; ' - . join(', ', @moose_classes) - . (@moose_classes == 1 ? ' is a Moose class' : ' are Moose classes') - ) if @moose_classes; + push @superclasses, 'Moose::Object' + unless grep { $_->isa('Moose::Object') } @superclasses; - Moose::extends($caller, @_, 'Moose::Object'); + Moose::extends($caller, @superclasses); Class::MOP::Class->initialize($caller)->add_method(new => sub { my $class = shift; |