File Coverage

blib/lib/PLS/Parser/Pod/Package.pm
Criterion Covered Total %
statement 9 31 29.0
branch 0 10 0.0
condition 0 2 0.0
subroutine 3 5 60.0
pod 0 2 0.0
total 12 50 24.0


line stmt bran cond sub pod time code
1              
2             use strict;
3 11     11   55 use warnings;
  11         22  
  11         263  
4 11     11   52  
  11         12  
  11         234  
5             use parent 'PLS::Parser::Pod';
6 11     11   43  
  11         11  
  11         60  
7             =head1 NAME
8              
9             PLS::Parser::Pod::Package
10              
11             =head1 DESCRIPTION
12              
13             This is a subclass of L<PLS::Parser::Pod>, used to find POD for a package.
14              
15             =cut
16              
17             {
18             my ($class, @args) = @_;
19              
20 0     0 0   my %args = @args;
21             my $self = $class->SUPER::new(%args);
22 0           $self->{package} = $args{package};
23 0            
24 0           return $self;
25             } ## end sub new
26 0            
27             {
28             my ($self) = @_;
29              
30             my $definitions;
31 0     0 0   $definitions = $self->{index}->find_package($self->{package}) if (ref $self->{index} eq 'PLS::Parser::Index');
32              
33 0           if (ref $definitions eq 'ARRAY' and scalar @$definitions)
34 0 0         {
35             foreach my $definition (@$definitions)
36 0 0 0       {
37             my $path = URI->new($definition->{uri})->file;
38 0           open my $fh, '<', $path or next;
39             my $text = do { local $/; <$fh> };
40 0           my ($ok, $markdown) = $self->get_markdown_from_text(\$text);
41 0 0          
42 0           if ($ok)
  0            
  0            
43 0           {
44             $self->{markdown} = $markdown;
45 0 0         return 1;
46             }
47 0           } ## end foreach my $definition (@$definitions...)
48 0           } ## end if (ref $definitions eq...)
49              
50             my ($ok, $markdown) = $self->get_markdown_for_package($self->{package});
51             $self->{markdown} = $markdown if $ok;
52              
53 0           return $ok;
54 0 0         } ## end sub find
55              
56 0           1;