X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSquirrel%2FRole.pm;h=86199a8820dddc123b7a68a9f9b71f96ffbc765f;hb=f3e1112299b631f1ab6150159eaa414dca37a42c;hp=56a7b3c216b87880856c2d519a074935bd4ea75f;hpb=07d18a6b15d6d937a78ecd2dd24f5375f0096766;p=gitmo%2FMouse.git diff --git a/lib/Squirrel/Role.pm b/lib/Squirrel/Role.pm index 56a7b3c..86199a8 100644 --- a/lib/Squirrel/Role.pm +++ b/lib/Squirrel/Role.pm @@ -2,39 +2,46 @@ package Squirrel::Role; use strict; use warnings; +use base qw(Squirrel); + sub _choose_backend { if ( $INC{"Moose/Role.pm"} ) { return { + backend => 'Moose::Role', import => \&Moose::Role::import, - unimport => defined &Moose::Role::unimport ? \&Moose::Role::unimport : sub {}, + unimport => \&Moose::Role::unimport, } - } else { + } + else { require Mouse::Role; return { + backend => 'Mouse::Role', import => \&Mouse::Role::import, unimport => \&Mouse::Role::unimport, } } } -my %pkgs; +1; -sub _handlers { - my $class = shift; +__END__ - my $caller = caller(1); +=head1 NAME - $pkgs{$caller} = $class->_choose_backend - unless $pkgs{$caller}; -} +Squirrel::Role - Use Mouse::Role, unless Moose::Role is already loaded. (DEPRECATED) -sub import { - goto $_[0]->_handlers->{import}; -} +=head1 SYNOPSIS -sub unimport { - goto $_[0]->_handlers->{unimport}; -} + use Squirrel::Role; -1; +=head1 DEPRECATION + +C is deprecated. C provides the same functionality, +but better. :) + +=head1 SEE ALSO + +L + +=cut