File Coverage

blib/lib/WriteAt/CHANGES.pm
Criterion Covered Total %
statement 7 9 77.7
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 10 12 83.3


line stmt bran cond sub pod time code
1             #===============================================================================
2             #
3             # DESCRIPTION: Block CHANGES
4             #
5             # AUTHOR: Aliaksandr P. Zahatski,
6             #===============================================================================
7             package WriteAt::CHANGES;
8 1     1   6 use strict;
  1         2  
  1         34  
9 1     1   5 use warnings;
  1         2  
  1         23  
10 1     1   2079 use Perl6::Pod::Block;
  0            
  0            
11             use base 'Perl6::Pod::Block';
12              
13             =pod
14             From
15             =CHANGES
16             date (revnumber) (\t|\s{2,} ) revremark [authorinitials]
17              
18             =CHANGES :authorinitials('zag')
19             06.04.2011(v0.15)[zag] test text
20             some text at line
21              
22             to
23            
24            
25             v0.15
26             Feb 10th 2011
27             zag
28             test text
29            
30            
31             =cut
32              
33             sub to_docbook {
34             my ( $self, $to ) = @_;
35             my $w = $to->w;
36             $w->raw('');
37             my $recs = $self->parse_content($self->{''});
38             foreach my $rec (@$recs) {
39             $w->raw('');
40             while( my ($k, $v) = each %$rec) {
41             next unless $k;
42             $w->raw("<$k>");
43             $w->print($v);
44             $w->raw("");
45             }
46             $w->raw('');
47             }
48             $w->raw('');
49             }
50              
51             sub parse_content {
52             my $self = shift;
53             my $txt = shift;
54             my $r = do {
55             use Regexp::Grammars;
56             qr{
57             \A .*? <[lines=line]>+ % ([\s\n]+) (^ = .* )?\Z
58             #Sep 19th 2011(v0.7)[zag] ¿¿¿¿¿¿ ¿ ¿¿¿¿¿¿¿
59             ^
60             (?!=)
61             \( \)
62             \[ \]
63            
64             }xms
65             };
66             if ($txt =~ $r ) {
67             return $/{lines}
68             } else {
69             die 'error parse CHANGES'
70             }
71             }
72             1;
73