File Coverage

blib/lib/YAML/Old/Marshall.pm
Criterion Covered Total %
statement 41 41 100.0
branch 4 6 66.6
condition 2 3 66.6
subroutine 11 11 100.0
pod 0 4 0.0
total 58 65 89.2


line stmt bran cond sub pod time code
1 2     2   61130 use strict; use warnings;
  2     2   6  
  2         57  
  2         9  
  2         4  
  2         69  
2             package YAML::Old::Marshall;
3              
4 2     2   307 use YAML::Old::Node ();
  2         3  
  2         56  
5              
6             sub import {
7 4     4   74 my $class = shift;
8 2     2   9 no strict 'refs';
  2         4  
  2         129  
9 4         9 my $package = caller;
10 4 50       7 unless (grep { $_ eq $class} @{$package . '::ISA'}) {
  3         15  
  4         16  
11 4         14 push @{$package . '::ISA'}, $class;
  4         38  
12             }
13              
14 4         12 my $tag = shift;
15 4 100       1295 if ( $tag ) {
16 2     2   10 no warnings 'once';
  2         5  
  2         142  
17 1         3 $YAML::TagClass->{$tag} = $package;
18 1         2 ${$package . "::YamlTag"} = $tag;
  1         35  
19             }
20             }
21              
22             sub yaml_dump {
23 3     3 0 18 my $self = shift;
24 2     2   10 no strict 'refs';
  2         4  
  2         255  
25 3   66     6 my $tag = ${ref($self) . "::YamlTag"} || 'perl/' . ref($self);
26 3         12 $self->yaml_node($self, $tag);
27             }
28              
29             sub yaml_load {
30 2     2 0 16 my ($class, $node) = @_;
31 2 50       13 if (my $ynode = $class->yaml_ynode($node)) {
32 2         7 $node = $ynode->{NODE};
33             }
34 2         8 bless $node, $class;
35             }
36              
37             sub yaml_node {
38 4     4 0 27 shift;
39 4         17 YAML::Old::Node->new(@_);
40             }
41              
42             sub yaml_ynode {
43 2     2 0 4 shift;
44 2         6 YAML::Old::Node::ynode(@_);
45             }
46              
47             1;