File Coverage

blib/lib/MooX/InsideOut.pm
Criterion Covered Total %
statement 21 21 100.0
branch 2 4 50.0
condition n/a
subroutine 6 6 100.0
pod n/a
total 29 31 93.5


line stmt bran cond sub pod time code
1             package MooX::InsideOut;
2 1     1   51679 use strict;
  1         2  
  1         38  
3 1     1   5 use warnings;
  1         3  
  1         71  
4              
5             our $VERSION = '0.001004';
6             $VERSION =~ tr/_//d;
7              
8 1     1   6 use Moo ();
  1         8  
  1         20  
9 1     1   725 use Moo::Role ();
  1         18217  
  1         45  
10 1     1   12 use Carp ();
  1         2  
  1         215  
11              
12             sub import {
13 4     4   8943 my $class = shift;
14 4         11 my $target = caller;
15              
16 4 50       23 my $con = Moo->_constructor_maker_for($target)
17             or Carp::croak "MooX::InsideOut can only be used on Moo classes.";
18              
19 4         28536 my $ag = Moo->_accessor_maker_for($target);
20 4         27 my $role = 'MooX::InsideOut::Role::GenerateAccessor';
21              
22 4 50       39 Moo::Role->apply_roles_to_object($ag, $role)
23             unless $ag->does($role);
24             }
25              
26             1;
27              
28             __END__