File Coverage

blib/lib/PerlIO/via/json.pm
Criterion Covered Total %
statement 10 12 83.3
branch n/a
condition n/a
subroutine 4 4 100.0
pod n/a
total 14 16 87.5


line stmt bran cond sub pod time code
1             package PerlIO::via::json;
2              
3 3     3   71752 use 5.008001;
  3         13  
  3         124  
4 3     3   19 use strict;
  3         7  
  3         112  
5 3     3   19 use warnings;
  3         11  
  3         180  
6              
7             our $VERSION = '0.01';
8              
9 3     3   9395 use XML::XML2JSON;
  0            
  0            
10              
11              
12             ### PerlIO::via interface
13              
14             sub PUSHED {
15             bless {
16             obj => XML::XML2JSON->new()
17             }, $_[0];
18             }
19              
20             sub FILL {
21             my ($self, $fh) = @_;
22              
23             local $/;
24             my $t = <$fh>;
25             (defined $t) ? $self->{obj}->xml2json($t) : undef;
26             }
27              
28             sub WRITE {
29             my ($self, $buf, $fh) = @_;
30             if (print $fh $self->{obj}->json2xml($buf)) {
31             return length($buf);
32             }
33             else {
34             return -1;
35             }
36             }
37              
38             1;
39             __END__