File Coverage

blib/lib/Nephia/Incognito.pm
Criterion Covered Total %
statement 22 22 100.0
branch n/a
condition 4 6 66.6
subroutine 6 6 100.0
pod 2 2 100.0
total 34 36 94.4


line stmt bran cond sub pod time code
1             package Nephia::Incognito;
2 4     4   78965 use strict;
  4         9  
  4         144  
3 4     4   19 use warnings;
  4         7  
  4         105  
4 4     4   3156 use Nephia::Core;
  4         12  
  4         813  
5              
6             our $SPACE = {};
7              
8             sub incognito {
9 5     5 1 33 my ($class, %opts) = @_;
10 5   66     34 $opts{caller} ||= caller();
11 5         38 my $instance = Nephia::Core->new(%opts);
12 5         29 $instance->export_dsl;
13 5         18 my $name = $class->_incognito_namespace($instance->caller_class);
14 5         17 $SPACE->{$name} = $instance;
15 5         2633 return $name;
16             }
17              
18             sub unmask {
19 4     4 1 15 my $class = shift;
20 4   66     21 my $appname = shift || caller();
21 4         14 my $name = $class->_incognito_namespace($appname);
22 4         21 return $SPACE->{$name};
23             }
24              
25             sub _incognito_namespace {
26 10     10   35 my ($class, $appname) = @_;
27 10         34 'Nephia::Incognito::'.$appname;
28             }
29              
30             1;
31              
32             __END__