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   32 use strict;
  6         11  
  6         145  
9 6     6   30 use warnings;
  6         13  
  6         2085  
10             our $VERSION = '0.01';
11              
12             sub get_attr {
13 8     8 0 17 my $self = shift;
14 8   50     25 my $attr = $self->{attr} || return {};
15 8         13 my %res;
16 8         10 foreach my $a (@{ $attr }) {
  8         21  
17 18         28 my $name = $a->{name};
18 18         29 my $value = $a->{items};
19 18         27 my $type = $a->{type};
20 18 100       43 if ($type eq 'hash') {
21 5         12 my %hash = ();
22 5         7 for ( @{ $value }) {
  5         13  
23             $hash{$_->{key}} = $_->{value}
24 10         40 }
25 5         11 $value = \%hash;
26             }
27 18         53 $res{$name} = $value
28             }
29 8         34 return \%res;
30             }
31              
32             sub new {
33 89     89 0 123 my $class = shift;
34 89 50 33     682 my $self = bless( ( $#_ == 0 ) ? shift : {@_}, ref($class) || $class );
35 89         409 $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 2355 my $self = shift;
45 183 100       365 if (scalar @_) {
46 12         22 $self->{content} = shift;
47             }
48 183         545 $self->{content};
49             }
50              
51             sub name {
52 9     9 0 13 my $self = shift;
53             return $self->{name}
54 9         28 }
55              
56             1;
57              
58