File Coverage

blib/lib/exact/role.pm
Criterion Covered Total %
statement 28 28 100.0
branch 1 2 50.0
condition 2 3 66.6
subroutine 11 11 100.0
pod 5 5 100.0
total 47 49 95.9


line stmt bran cond sub pod time code
1             package exact::role;
2             # ABSTRACT: Simple role interface extension for exact
3              
4 6     6   738750 use 5.014;
  6         41  
5 6     6   407 use exact;
  6         38518  
  6         43  
6 6     6   6909 use Import::Into;
  6         36  
  6         159  
7 6     6   26 use feature ();
  6         11  
  6         129  
8 6     6   1422 use Role::Tiny ();
  6         22247  
  6         3811  
9              
10             our $VERSION = '1.21'; # VERSION
11              
12             my ($perl_version) = $^V =~ /^v5\.(\d+)/;
13              
14             sub import {
15 9     9   4848 my ( $self, $params, $caller ) = @_;
16 9   66     41 $caller //= caller();
17              
18 9         54 Role::Tiny->import::into($caller);
19 9         4964 exact->import::into( $caller, 'class', 'noautoclean' );
20 9 50       1666 feature->unimport('class') if ( $perl_version > 36 );
21             }
22              
23             sub does_role {
24 2     2 1 548 Role::Tiny::does_role(@_);
25             }
26              
27             sub apply_roles_to_package {
28 1     1 1 1628 shift;
29 1         8 Role::Tiny->apply_roles_to_package(@_);
30             }
31              
32             sub apply_roles_to_object {
33 1     1 1 3978 shift;
34 1         6 Role::Tiny->apply_roles_to_object(@_);
35             }
36              
37             sub create_class_with_roles {
38 1     1 1 2647 shift;
39 1         7 Role::Tiny->create_class_with_roles(@_);
40             }
41              
42             sub is_role {
43 3     3 1 2453 shift;
44 3         15 Role::Tiny->is_role(@_);
45             }
46              
47             1;
48              
49             __END__