File Coverage

blib/lib/Exporter/Shiny.pm
Criterion Covered Total %
statement 29 29 100.0
branch 5 6 83.3
condition 5 8 62.5
subroutine 6 6 100.0
pod n/a
total 45 49 91.8


line stmt bran cond sub pod time code
1             package Exporter::Shiny;
2              
3 12     12   699093 use 5.006001;
  12         122  
4 12     12   93 use strict;
  12         23  
  12         309  
5 12     12   61 use warnings;
  12         34  
  12         368  
6              
7 12     12   5189 use Exporter::Tiny ();
  12         29  
  12         2231  
8              
9             our $AUTHORITY = 'cpan:TOBYINK';
10             our $VERSION = '1.006002';
11              
12             sub import {
13 14     14   1681 my $me = shift;
14 14         34 my $caller = caller;
15            
16 14         69 (my $nominal_file = $caller) =~ s(::)(/)g;
17 14   50     146 $INC{"$nominal_file\.pm"} ||= __FILE__;
18            
19 14 100 100     69 if (@_ == 2 and $_[0] eq -setup)
20             {
21 2         4 my (undef, $opts) = @_;
22 2 50       4 @_ = @{ delete($opts->{exports}) || [] };
  2         11  
23            
24 2 100       6 if (%$opts) {
25 1         9 Exporter::Tiny::_croak(
26             'Unsupported Sub::Exporter-style options: %s',
27             join(q[, ], sort keys %$opts),
28             );
29             }
30             }
31            
32 13   33     59 ref($_) && Exporter::Tiny::_croak('Expected sub name, got ref %s', $_) for @_;
33            
34 12     12   96 no strict qw(refs);
  12         25  
  12         1114  
35 13         20 push @{"$caller\::ISA"}, 'Exporter::Tiny';
  13         151  
36 13         28 push @{"$caller\::EXPORT_OK"}, @_;
  13         5450  
37             }
38              
39             1;
40              
41             __END__