File Coverage

blib/lib/Object/Remote/GlobProxy.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod n/a
total 14 14 100.0


line stmt bran cond sub pod time code
1 11     11   39 use strictures 1;
  11         100  
  11         485  
2              
3             package Object::Remote::GlobProxy;
4             require Tie::Handle;
5             our @ISA = qw( Tie::Handle );
6              
7             sub TIEHANDLE {
8 4     4   10 my ($class, $glob_container) = @_;
9 4         27 return bless { container => $glob_container }, $class;
10             }
11              
12             my @_delegate = (
13             [READLINE => sub { wantarray ? $_[0]->getlines : $_[0]->getline }],
14             (map { [uc($_), lc($_)] } qw(
15             write
16             print
17             printf
18             read
19             getc
20             close
21             open
22             binmode
23             eof
24             tell
25             seek
26             )),
27             );
28              
29             for my $delegation (@_delegate) {
30             my ($from, $to) = @$delegation;
31 11     11   2340 no strict 'refs';
  11         39  
  11         969  
32             *{join '::', __PACKAGE__, $from} = sub {
33 3     3   128 $_[0]->{container}->$to(@_[1 .. $#_]);
        3      
34             };
35             }
36              
37             1;