File Coverage

blib/lib/Sub/HandlesVia/Toolkit/Mite.pm.mite.pm
Criterion Covered Total %
statement 44 53 83.0
branch 3 8 37.5
condition 1 9 11.1
subroutine 10 10 100.0
pod 0 2 0.0
total 58 82 70.7


line stmt bran cond sub pod time code
1             {
2              
3             package Sub::HandlesVia::Toolkit::Mite;
4 10     10   69 use strict;
  10         32  
  10         341  
5 10     10   56 use warnings;
  10         20  
  10         273  
6 10     10   55 no warnings qw( once void );
  10         19  
  10         1552  
7              
8             our $USES_MITE = "Mite::Class";
9             our $MITE_SHIM = "Sub::HandlesVia::Mite";
10             our $MITE_VERSION = "0.012000";
11              
12             # Mite keywords
13             BEGIN {
14 10     10   60 my ( $SHIM, $CALLER ) =
15             ( "Sub::HandlesVia::Mite", "Sub::HandlesVia::Toolkit::Mite" );
16             (
17             *after, *around, *before, *extends, *field,
18             *has, *param, *signature_for, *with
19             )
20 10         42 = do {
21              
22             package Sub::HandlesVia::Mite;
23 10     10   91 no warnings 'redefine';
  10         22  
  10         2332  
24             (
25 0         0 sub { $SHIM->HANDLE_after( $CALLER, "class", @_ ) },
26 0         0 sub { $SHIM->HANDLE_around( $CALLER, "class", @_ ) },
27 0         0 sub { $SHIM->HANDLE_before( $CALLER, "class", @_ ) },
28             sub { },
29 0         0 sub { $SHIM->HANDLE_has( $CALLER, field => @_ ) },
30 0         0 sub { $SHIM->HANDLE_has( $CALLER, has => @_ ) },
31 0         0 sub { $SHIM->HANDLE_has( $CALLER, param => @_ ) },
32 0         0 sub { $SHIM->HANDLE_signature_for( $CALLER, "class", @_ ) },
33 0         0 sub { $SHIM->HANDLE_with( $CALLER, @_ ) },
34 10         1941 );
35             };
36             }
37              
38             # Mite imports
39             BEGIN {
40 10     10   76 require Scalar::Util;
41 10         40 *STRICT = \&Sub::HandlesVia::Mite::STRICT;
42 10         23 *bare = \&Sub::HandlesVia::Mite::bare;
43 10         30 *blessed = \&Scalar::Util::blessed;
44 10         20 *carp = \&Sub::HandlesVia::Mite::carp;
45 10         20 *confess = \&Sub::HandlesVia::Mite::confess;
46 10         17 *croak = \&Sub::HandlesVia::Mite::croak;
47 10         33 *false = \&Sub::HandlesVia::Mite::false;
48 10         29 *guard = \&Sub::HandlesVia::Mite::guard;
49 10         19 *lazy = \&Sub::HandlesVia::Mite::lazy;
50 10         35 *lock = \&Sub::HandlesVia::Mite::lock;
51 10         22 *ro = \&Sub::HandlesVia::Mite::ro;
52 10         27 *rw = \&Sub::HandlesVia::Mite::rw;
53 10         17 *rwp = \&Sub::HandlesVia::Mite::rwp;
54 10         32 *true = \&Sub::HandlesVia::Mite::true;
55 10         425 *unlock = \&Sub::HandlesVia::Mite::unlock;
56             }
57              
58             BEGIN {
59 10     10   4947 require Sub::HandlesVia::Toolkit;
60              
61 10     10   80 use mro 'c3';
  10         23  
  10         155  
62 10         34 our @ISA;
63 10         2173 push @ISA, "Sub::HandlesVia::Toolkit";
64             }
65              
66             # See UNIVERSAL
67             sub DOES {
68 980     980 0 1752 my ( $self, $role ) = @_;
69 980         1266 our %DOES;
70 980 50       1904 return $DOES{$role} if exists $DOES{$role};
71 980 50       1703 return 1 if $role eq __PACKAGE__;
72 980 50 0     1923 if ( $INC{'Moose/Util.pm'}
      33        
73             and my $meta = Moose::Util::find_meta( ref $self or $self ) )
74             {
75 0 0 0     0 $meta->can('does_role') and $meta->does_role($role) and return 1;
76             }
77 980         2154 return $self->SUPER::DOES($role);
78             }
79              
80             # Alias for Moose/Moo-compatibility
81             sub does {
82 980     980 0 31242 shift->DOES(@_);
83             }
84              
85             1;
86             }