Improve documents
[gitmo/Mouse.git] / lib / Squirrel / Role.pm
index ca41eef..640c1c6 100644 (file)
@@ -1,43 +1,34 @@
-#!/usr/bin/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;
-
-sub _handlers {
-    my $class = shift;
-
-    my $caller = caller(1);
+1;
 
-    $pkgs{$caller} = $class->_choose_backend
-        unless $pkgs{$caller};
-}
+__END__
 
-sub import {
-    goto $_[0]->_handlers->{import};
-}
+=head1 NAME
 
-sub unimport {
-    goto $_[0]->_handlers->{unimport};
-}
+Squirrel::Role - Use Mouse::Role, unless MooseRole is already loaded. (DEPRECATED)
 
-1;
+=cut