File Coverage

blib/lib/Perl6/Pod/Lex/Block.pm
Criterion Covered Total %
statement 31 33 93.9
branch 5 6 83.3
condition 2 5 40.0
subroutine 6 7 85.7
pod 0 5 0.0
total 44 56 78.5


line stmt bran cond sub pod time code
1             #===============================================================================
2             #
3             # DESCRIPTION: Base block
4             #
5             # AUTHOR: Aliaksandr P. Zahatski,
6             #===============================================================================
7             package Perl6::Pod::Lex::Block;
8 6     6   36 use strict;
  6         12  
  6         168  
9 6     6   33 use warnings;
  6         10  
  6         2152  
10             our $VERSION = '0.01';
11              
12             sub get_attr {
13 8     8 0 19 my $self = shift;
14 8   50     24 my $attr = $self->{attr} || return {};
15 8         9 my %res;
16 8         11 foreach my $a (@{ $attr }) {
  8         16  
17 18         26 my $name = $a->{name};
18 18         26 my $value = $a->{items};
19 18         22 my $type = $a->{type};
20 18 100       37 if ($type eq 'hash') {
21 5         9 my %hash = ();
22 5         6 for ( @{ $value }) {
  5         13  
23             $hash{$_->{key}} = $_->{value}
24 10         36 }
25 5         11 $value = \%hash;
26             }
27 18         49 $res{$name} = $value
28             }
29 8         31 return \%res;
30             }
31              
32             sub new {
33 89     89 0 137 my $class = shift;
34 89 50 33     792 my $self = bless( ( $#_ == 0 ) ? shift : {@_}, ref($class) || $class );
35 89         424 $self;
36             }
37              
38             sub content {
39 0     0 0 0 my $self = shift;
40 0         0 $self->{''};
41             }
42              
43             sub childs {
44 183     183 0 2346 my $self = shift;
45 183 100       390 if (scalar @_) {
46 12         24 $self->{content} = shift;
47             }
48 183         502 $self->{content};
49             }
50              
51             sub name {
52 9     9 0 13 my $self = shift;
53             return $self->{name}
54 9         30 }
55              
56             1;
57              
58