diff options
author | doy <doy@tozt.net> | 2009-04-09 01:54:18 -0500 |
---|---|---|
committer | doy <doy@tozt.net> | 2009-04-09 01:54:18 -0500 |
commit | 72c93c862b88a567eae92c445dd2945a0ae6cb2f (patch) | |
tree | 13c07456cb84c80587a6ac24ea98a324c6b2189d /lib | |
parent | 2334e70f8fd720328371feea2a024ca904dae36a (diff) | |
download | moosex-nonmoose-72c93c862b88a567eae92c445dd2945a0ae6cb2f.tar.gz moosex-nonmoose-72c93c862b88a567eae92c445dd2945a0ae6cb2f.zip |
okay... stop erroring for now, just only add Moose::Object as a superclass if it's not already somewhere in our inheritance hierarchy
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; |