App-ArchiveDevelCover
view release on metacpan or search on metacpan
lib/App/ArchiveDevelCover.pm view on Meta::CPAN
my $target_string = $target->stringify;
while (my $f = $from->next) {
next unless $f=~/\.(html|css)$/;
copy($f->stringify,$target_string) || die "Cannot copy $from to $target_string: $!";
}
say "archived coverage reports at $target_string";
}
sub update_index {
my $self = shift;
my $te = HTML::TableExtract->new( headers => [qw(stm sub total)] );
$te->parse(scalar $self->coverage_html->slurp);
my $rows =$te->rows;
my $last_row = $rows->[-1];
$self->update_archive_html($last_row);
$self->update_archive_db($last_row);
}
sub update_archive_html {
my ($self, $last_row) = @_;
my $prev_stats = $self->previous_stats;
my $runtime = $self->runtime;
my $date = $runtime->ymd('-').' '.$runtime->hms;
my $link = "./".$runtime->iso8601."/coverage.html";
my $diff = "./".$runtime->iso8601."/diff.html";
my $new_stat = qq{\n<tr><td><a href="$link">$date</a></td><td><a href="$diff">diff</a></td>};
foreach my $val (@$last_row) {
lib/App/ArchiveDevelCover.pm view on Meta::CPAN
my $fh = $self->archive_html->openw;
print $fh $archive;
close $fh;
unless (-e $self->to->file('cover.css')) {
copy($self->from->file('cover.css'),$self->to->file('cover.css')) || warn "Cannot copy cover.css: $!";
}
}
sub update_archive_db {
my ($self, $last_row) = @_;
my $dbw = $self->archive_db->open(">>") || warn "Can't write archive.db: $!";
say $dbw join(';',$self->runtime->iso8601,@$last_row);
close $dbw;
}
sub generate_diff {
my $self = shift;
my $prev = $self->previous_stats;
t/testdata/run_1/lib-App-ArchiveDevelCover-pm.html view on Meta::CPAN
<tr><td class="h">76</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> exit;</td></tr>
<tr><td class="h">77</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">78</td><td colspan="6"></td></tr><tr><td class="h">79</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> $target->mkpath;</td></tr>
<tr><td class="h">80</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $target_string = $target->stringify;</td></tr>
<tr><td class="h">81</td><td colspan="6"></td></tr><tr><td class="h">82</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> while (my $f = $from->next) {</td></tr>
<tr><td class="h">83</td><td><div class="c0">0</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L83">0</a></div></td><td></td><td></td><td></td><td class="s"> ...
<tr><td class="h">84</td><td><div class="c0">0</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L84">0</a></div></td><td></td><td></td><td></td><td class="s"> ...
<tr><td class="h">85</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">86</td><td colspan="6"></td></tr><tr><td class="h">87</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> say "archived coverage reports at $target_string";</td></t...
<tr><td class="h">88</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">89</td><td colspan="6"></td></tr><tr><td class="h">90</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub update_index {</td></tr>
<tr><td class="h">91</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L91">0</a></div></td><td></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">92</td><td colspan="6"></td></tr><tr><td class="h">93</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $te = HTML::TableExtract->new( headers => [qw(stm sub total...
<tr><td class="h">94</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> $te->parse(scalar $self->coverage_html->slurp);</td></tr>
<tr><td class="h">95</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $rows =$te->rows;</td></tr>
<tr><td class="h">96</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $last_row = $rows->[-1];</td></tr>
<tr><td class="h">97</td><td colspan="6"></td></tr><tr><td class="h">98</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> $self->update_archive_html($last_row);</td></tr>
<tr><td class="h">99</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> $self->update_archive_db($last_row);</td></tr>
<tr><td class="h">100</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">101</td><td colspan="6"></td></tr><tr><td class="h">102</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub update_archive_html {</td></tr>
<tr><td class="h">103</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L103">0</a></div></td><td></td><td class="s"> my ($self, $last_row) = @_;</t...
<tr><td class="h">104</td><td colspan="6"></td></tr><tr><td class="h">105</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $prev_stats = $self->previous_stats;</td></tr>
<tr><td class="h">106</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $runtime = $self->runtime;</td></tr>
<tr><td class="h">107</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $date = $runtime->ymd('-').' '.$runtime->hms;</td></tr>
<tr><td class="h">108</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $link = $runtime->iso8601."/coverage.html";</td></tr>
<tr><td class="h">109</td><td colspan="6"></td></tr><tr><td class="h">110</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $new_stat = qq{\n<tr><td><a href="$link&quo...
<tr><td class="h">111</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> foreach my $val (@$last_row) {</td></tr>
<tr><td class="h">112</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $style;</td></tr>
<tr><td class="h">113</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> given ($val) {</td></tr>
<tr><td class="h">114</td><td><div class="c0">0</div><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> when ($_ < 75) { $style = 'c0' }</t...
t/testdata/run_1/lib-App-ArchiveDevelCover-pm.html view on Meta::CPAN
<tr><td class="h">132</td><td colspan="6"></td></tr><tr><td class="h">133</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> $new_stat.="</tr>\n";</td></tr>
<tr><td class="h">134</td><td colspan="6"></td></tr><tr><td class="h">135</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $archive = $self->archive_html->slurp;</td></tr>
<tr><td class="h">136</td><td><div class="c0">0</div><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> $archive =~ s/(<!-- INSERT -->)/$1 . $new_stat/e;</td></tr>
<tr><td class="h">137</td><td colspan="6"></td></tr><tr><td class="h">138</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $fh = $self->archive_html->openw;</td></tr>
<tr><td class="h">139</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> print $fh $archive;</td></tr>
<tr><td class="h">140</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> close $fh;</td></tr>
<tr><td class="h">141</td><td colspan="6"></td></tr><tr><td class="h">142</td><td><div class="c0">0</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L142">0</a></div></td><td></td><td></td><td></td><td clas...
<tr><td class="h">143</td><td><div class="c0">0</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L143">0</a></div></td><td></td><td></td><td></td><td class="s"> &nbs...
<tr><td class="h">144</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">145</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">146</td><td colspan="6"></td></tr><tr><td class="h">147</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub update_archive_db {</td></tr>
<tr><td class="h">148</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L148">0</a></div></td><td></td><td class="s"> my ($self, $last_row) = @_;</t...
<tr><td class="h">149</td><td><div class="c0">0</div></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--condition.html#L149">0</a></div></td><td></td><td></td><td class="s"> my $dbw = $self->archive_db-...
<tr><td class="h">150</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> say $dbw join(';',$self->runtime->iso8601,@$last_row);</td></tr>
<tr><td class="h">151</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> close $dbw;</td></tr>
<tr><td class="h">152</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">153</td><td colspan="6"></td></tr><tr><td class="h">154</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _archive_template {</td></tr>
<tr><td class="h">155</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L155">0</a></div></td><td></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">156</td><td><div class="c0">0</div></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--condition.html#L156">0</a></div></td><td></td><td></td><td class="s"> my $name = $self->project ||...
<tr><td class="h">157</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $class = ref($self);</td></tr>
<tr><td class="h">158</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $version = $class->VERSION;</td></tr>
t/testdata/run_2/lib-App-ArchiveDevelCover-pm.html view on Meta::CPAN
<tr><td class="h">76</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>10</div></td><td class="s"> exit;</td></tr>
<tr><td class="h">77</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">78</td><td colspan="6"></td></tr><tr><td class="h">79</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>39</div></td><td class="s"> $target->mkpath;</td></tr>
<tr><td class="h">80</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>144</div></td><td class="s"> my $target_string = $target->stringify;</td></tr>
<tr><td class="h">81</td><td colspan="6"></td></tr><tr><td class="h">82</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>31</div></td><td class="s"> while (my $f = $from->next) {</td></tr>
<tr><td class="h">83</td><td><div class="c3">11</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L83">0</a></div></td><td></td><td></td><td><div>5766</div></td><td class="s"> &n...
<tr><td class="h">84</td><td><div class="c3">6</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L84">0</a></div></td><td></td><td></td><td><div>290</div></td><td class="s"> &nbs...
<tr><td class="h">85</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">86</td><td colspan="6"></td></tr><tr><td class="h">87</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>286</div></td><td class="s"> say "archived coverage reports at $target_string&...
<tr><td class="h">88</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">89</td><td colspan="6"></td></tr><tr><td class="h">90</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub update_index {</td></tr>
<tr><td class="h">91</td><td><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L91">1</a></div></td><td><div>3</div></td><td class="s"> my $self = shift;</t...
<tr><td class="h">92</td><td colspan="6"></td></tr><tr><td class="h">93</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>15</div></td><td class="s"> my $te = HTML::TableExtract->new( headers => [qw(...
<tr><td class="h">94</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>234</div></td><td class="s"> $te->parse(scalar $self->coverage_html->slurp);</td></tr>
<tr><td class="h">95</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>3154</div></td><td class="s"> my $rows =$te->rows;</td></tr>
<tr><td class="h">96</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>142</div></td><td class="s"> my $last_row = $rows->[-1];</td></tr>
<tr><td class="h">97</td><td colspan="6"></td></tr><tr><td class="h">98</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>4</div></td><td class="s"> $self->update_archive_html($last_row);</td></tr>
<tr><td class="h">99</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>1224</div></td><td class="s"> $self->update_archive_db($last_row);</td></tr>
<tr><td class="h">100</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">101</td><td colspan="6"></td></tr><tr><td class="h">102</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub update_archive_html {</td></tr>
<tr><td class="h">103</td><td><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L103">1</a></div></td><td><div>2</div></td><td class="s"> my ($self, $last_r...
<tr><td class="h">104</td><td colspan="6"></td></tr><tr><td class="h">105</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>9</div></td><td class="s"> my $prev_stats = $self->previous_stats;</td></tr>
<tr><td class="h">106</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>24</div></td><td class="s"> my $runtime = $self->runtime;</td></tr>
<tr><td class="h">107</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>14</div></td><td class="s"> my $date = $runtime->ymd('-').' '.$runtime->hms;</td></tr>
<tr><td class="h">108</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>25</div></td><td class="s"> my $link = $runtime->iso8601."/coverage.html";</td></tr>
<tr><td class="h">109</td><td colspan="6"></td></tr><tr><td class="h">110</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>18</div></td><td class="s"> my $new_stat = qq{\n<tr><td><a href=&q...
<tr><td class="h">111</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>3</div></td><td class="s"> foreach my $val (@$last_row) {</td></tr>
<tr><td class="h">112</td><td><div class="c3">3</div></td><td></td><td></td><td></td><td><div>6</div></td><td class="s"> my $style;</td></tr>
<tr><td class="h">113</td><td><div class="c3">3</div></td><td></td><td></td><td></td><td><div>7</div></td><td class="s"> given ($val) {</td></tr>
<tr><td class="h">114</td><td><div class="c3">3</div><div class="c3">3</div></td><td></td><td></td><td></td><td><div>9</div><div>7</div></td><td class="s"> when ($_ < 75) { $s...
t/testdata/run_2/lib-App-ArchiveDevelCover-pm.html view on Meta::CPAN
<tr><td class="h">132</td><td colspan="6"></td></tr><tr><td class="h">133</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>5</div></td><td class="s"> $new_stat.="</tr>\n";</td></tr>
<tr><td class="h">134</td><td colspan="6"></td></tr><tr><td class="h">135</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>9</div></td><td class="s"> my $archive = $self->archive_html->slurp;</td></...
<tr><td class="h">136</td><td><div class="c3">1</div><div class="c3">1</div></td><td></td><td></td><td></td><td><div>456</div><div>6</div></td><td class="s"> $archive =~ s/(<!-- INSERT -->)/$1 . $new_stat/e;</td></tr>
<tr><td class="h">137</td><td colspan="6"></td></tr><tr><td class="h">138</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>8</div></td><td class="s"> my $fh = $self->archive_html->openw;</td></tr>
<tr><td class="h">139</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>205</div></td><td class="s"> print $fh $archive;</td></tr>
<tr><td class="h">140</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>10</div></td><td class="s"> close $fh;</td></tr>
<tr><td class="h">141</td><td colspan="6"></td></tr><tr><td class="h">142</td><td><div class="c3">1</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L142">0</a></div></td><td></td><td></td><td><div>8</div><...
<tr><td class="h">143</td><td><div class="c3">1</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L143">0</a></div></td><td></td><td></td><td><div>369</div></td><td class="s"> &n...
<tr><td class="h">144</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">145</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">146</td><td colspan="6"></td></tr><tr><td class="h">147</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub update_archive_db {</td></tr>
<tr><td class="h">148</td><td><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L148">1</a></div></td><td><div>3</div></td><td class="s"> my ($self, $last_r...
<tr><td class="h">149</td><td><div class="c3">1</div></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--condition.html#L149">0</a></div></td><td></td><td><div>8</div></td><td class="s"> my $dbw = $self->...
<tr><td class="h">150</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>166</div></td><td class="s"> say $dbw join(';',$self->runtime->iso8601,@$last_row);</td></tr>
<tr><td class="h">151</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>86</div></td><td class="s"> close $dbw;</td></tr>
<tr><td class="h">152</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">153</td><td colspan="6"></td></tr><tr><td class="h">154</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _archive_template {</td></tr>
<tr><td class="h">155</td><td><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L155">1</a></div></td><td><div>2</div></td><td class="s"> my $self = shift;<...
<tr><td class="h">156</td><td><div class="c3">1</div></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--condition.html#L156">50</a></div></td><td></td><td><div>8</div></td><td class="s"> my $name = $self-&...
<tr><td class="h">157</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>11</div></td><td class="s"> my $class = ref($self);</td></tr>
<tr><td class="h">158</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>18</div></td><td class="s"> my $version = $class->VERSION;</td></tr>
( run in 0.331 second using v1.01-cache-2.11-cpan-95122f20152 )