File Coverage

blib/lib/Sub/HandlesVia/Toolkit/Mite.pm.mite.pm
Criterion Covered Total %
statement 42 51 82.3
branch 3 8 37.5
condition 1 9 11.1
subroutine 10 10 100.0
pod 0 2 0.0
total 56 80 70.0


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