my $FALLBACK = sub { 0 };
sub _install_does {
my ($me, $to) = @_;
-
+
# only add does() method to classes
return if $me->is_role($to);
-
+
# add does() only if they don't have one
*{_getglob "${to}::does"} = \&does_role unless $to->can('does');
-
- return if ($to->can('DOES') and $to->can('DOES') != (UNIVERSAL->can('DOES') || 0));
-
+
+ return
+ if $to->can('DOES') and $to->can('DOES') != (UNIVERSAL->can('DOES') || 0);
+
my $existing = $to->can('DOES') || $to->can('isa') || $FALLBACK;
my $new_sub = sub {
my ($proto, $role) = @_;
=head1 IMPORTED SUBROUTINES
+In addition to importing subroutines, using C<Role::Tiny> applies L<strict> and
+L<fatal warnings|perllexwarn/Fatal Warnings> to the caller.
+
=head2 requires
requires qw(foo bar);
tobyink - Toby Inkster (cpan:TOBYINK) <tobyink@cpan.org>
+haarg - Graham Knop (cpan:HAARG) <haarg@haarg.org>
+
=head1 COPYRIGHT
Copyright (c) 2010-2012 the Role::Tiny L</AUTHOR> and L</CONTRIBUTORS>