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   70 use strict;
  10         26  
  10         309  
5 10     10   51 use warnings;
  10         25  
  10         294  
6 10     10   49 no warnings qw( once void );
  10         21  
  10         1584  
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         26 = do {
21              
22             package Sub::HandlesVia::Mite;
23 10     10   78 no warnings 'redefine';
  10         24  
  10         2433  
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         2016 );
35             };
36             }
37              
38             # Mite imports
39             BEGIN {
40 10     10   78 require Scalar::Util;
41 10         34 *STRICT = \&Sub::HandlesVia::Mite::STRICT;
42 10         22 *bare = \&Sub::HandlesVia::Mite::bare;
43 10         23 *blessed = \&Scalar::Util::blessed;
44 10         25 *carp = \&Sub::HandlesVia::Mite::carp;
45 10         21 *confess = \&Sub::HandlesVia::Mite::confess;
46 10         21 *croak = \&Sub::HandlesVia::Mite::croak;
47 10         20 *false = \&Sub::HandlesVia::Mite::false;
48 10         18 *guard = \&Sub::HandlesVia::Mite::guard;
49 10         23 *lazy = \&Sub::HandlesVia::Mite::lazy;
50 10         21 *lock = \&Sub::HandlesVia::Mite::lock;
51 10         38 *ro = \&Sub::HandlesVia::Mite::ro;
52 10         33 *rw = \&Sub::HandlesVia::Mite::rw;
53 10         30 *rwp = \&Sub::HandlesVia::Mite::rwp;
54 10         22 *true = \&Sub::HandlesVia::Mite::true;
55 10         433 *unlock = \&Sub::HandlesVia::Mite::unlock;
56             }
57              
58             BEGIN {
59 10     10   5058 require Sub::HandlesVia::Toolkit;
60              
61 10     10   75 use mro 'c3';
  10         23  
  10         115  
62 10         36 our @ISA;
63 10         2073 push @ISA, "Sub::HandlesVia::Toolkit";
64             }
65              
66             # See UNIVERSAL
67             sub DOES {
68 980     980 0 1818 my ( $self, $role ) = @_;
69 980         1268 our %DOES;
70 980 50       1993 return $DOES{$role} if exists $DOES{$role};
71 980 50       1726 return 1 if $role eq __PACKAGE__;
72 980 50 0     1935 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         2123 return $self->SUPER::DOES($role);
78             }
79              
80             # Alias for Moose/Moo-compatibility
81             sub does {
82 980     980 0 31890 shift->DOES(@_);
83             }
84              
85             1;
86             }