X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FSquirrel%2FRole.pm;h=86199a8820dddc123b7a68a9f9b71f96ffbc765f;hb=e128626c409797822ffd8a4079f833eb3dc0fd37;hp=0405c1c7983df26e9056d39fa98a92190e539e09;hpb=9baf5d6bc5ac4b034196d755c234062dc5673ad7;p=gitmo%2FMouse.git diff --git a/lib/Squirrel/Role.pm b/lib/Squirrel/Role.pm index 0405c1c..86199a8 100644 --- a/lib/Squirrel/Role.pm +++ b/lib/Squirrel/Role.pm @@ -1,41 +1,47 @@ -#!/usr/bin/env perl 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