<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--
This file was generated by Devel::Cover Version 0.79
Devel::Cover is copyright 2001-2011, Paul Johnson (pjcj@cpan.org)
Devel::Cover is free. It is licensed under the same terms as Perl itself.
The latest version of Devel::Cover should be available from my homepage:
http://www.pjcj.net
-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
<meta http-equiv="Content-Language" content="en-us"></meta>
<link rel="stylesheet" type="text/css" href="cover.css"></link>
<link rel="stylesheet" type="text/css" href="cover.css"></link>
<title>File Coverage: lib/App/ArchiveDevelCover.pm</title>
</head>
<body>
<h1>File Coverage</h1>
<table>
<tr><td class="h" align="right">File:</td><td align="left">lib/App/ArchiveDevelCover.pm</td></tr>
<tr><td class="h" align="right">Coverage:</td><td align="left" class="c0">18.5%</td></tr>
</table>
<div><br/></div>
<table>
<tr><th>line</th><th>stmt</th><th>bran</th><th>cond</th><th>sub</th><th>time</th><th>code</th></tr>
<tr><td class="h">1</td><td></td><td></td><td></td><td></td><td></td><td class="s">package App::ArchiveDevelCover;</td></tr>
<tr><td class="h">2</td><td><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L2">1</a></div><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L2">1</a></div></td><td><div>65861</div><div>5</div><div>33</div><div>5</div><div>3</div><div>77</div></td><td class="s">use 5.010;</td></tr>
<tr><td class="h">3</td><td><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L3">1</a></div></td><td><div>472</div><div>391002</div><div>12</div></td><td class="s">use Moose;</td></tr>
<tr><td class="h">4</td><td><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L4">1</a></div></td><td><div>42126</div><div>352675</div><div>23</div></td><td class="s">use MooseX::Types::Path::Class;</td></tr>
<tr><td class="h">5</td><td><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L5">1</a></div></td><td><div>1208</div><div>211378</div><div>23</div></td><td class="s">use DateTime;</td></tr>
<tr><td class="h">6</td><td><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L6">1</a></div></td><td><div>5703</div><div>1806</div><div>49</div></td><td class="s">use File::Copy;</td></tr>
<tr><td class="h">7</td><td><div class="c3">1</div><div class="c3">1</div><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L7">1</a></div></td><td><div>12219</div><div>17043</div><div>9</div></td><td class="s">use HTML::TableExtract;</td></tr>
<tr><td class="h">8</td><td colspan="6"></td></tr><tr><td class="h">9</td><td></td><td></td><td></td><td></td><td></td><td class="s"># ABSTRACT: Archive Devel::Cover reports</td></tr>
<tr><td class="h">10</td><td></td><td></td><td></td><td></td><td></td><td class="s">our $VERSION = '1.000';</td></tr>
<tr><td class="h">11</td><td colspan="6"></td></tr><tr><td class="h">12</td><td></td><td></td><td></td><td></td><td></td><td class="s">with 'MooseX::Getopt';</td></tr>
<tr><td class="h">13</td><td colspan="6"></td></tr><tr><td class="h">14</td><td></td><td></td><td></td><td></td><td></td><td class="s">has [qw(from to)] => (is=>'ro',isa=>'Path::Class::Dir',coerce=>1,required=>1,);</td></tr>
<tr><td class="h">15</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'project' => (is => 'ro', isa=>'Str');</td></tr>
<tr><td class="h">16</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'coverage_html' => (is=>'ro',isa=>'Path::Class::File',lazy_build=>1,traits=> ['NoGetopt']);</td></tr>
<tr><td class="h">17</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_coverage_html {</td></tr>
<tr><td class="h">18</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L18">0</a></div></td><td></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">19</td><td><div class="c0">0</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L19">0</a></div></td><td></td><td></td><td></td><td class="s"> if (-e $self->from->file('coverage.html')) {</td></tr>
<tr><td class="h">20</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> return $self->from->file('coverage.html');</td></tr>
<tr><td class="h">21</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">22</td><td></td><td></td><td></td><td></td><td></td><td class="s"> else {</td></tr>
<tr><td class="h">23</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> say "Cannot find 'coverage.html' in ".$self->from.'. Aborting';</td></tr>
<tr><td class="h">24</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">25</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">26</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">27</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'runtime' => (is=>'ro',isa=>'DateTime',lazy_build=>1,traits=> ['NoGetopt'],);</td></tr>
<tr><td class="h">28</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_runtime {</td></tr>
<tr><td class="h">29</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L29">0</a></div></td><td></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">30</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> return DateTime->from_epoch(epoch=>$self->coverage_html->stat->mtime);</td></tr>
<tr><td class="h">31</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">32</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'archive_html' => (is=>'ro',isa=>'Path::Class::File',lazy_build=>1,traits=> ['NoGetopt']);</td></tr>
<tr><td class="h">33</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_archive_html {</td></tr>
<tr><td class="h">34</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L34">0</a></div></td><td></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">35</td><td><div class="c0">0</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L35">0</a></div></td><td></td><td></td><td></td><td class="s"> unless (-e $self->to->file('index.html')) {</td></tr>
<tr><td class="h">36</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $tpl = $self->_archive_template;</td></tr>
<tr><td class="h">37</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $fh = $self->to->file('index.html')->openw;</td></tr>
<tr><td class="h">38</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> print $fh $tpl;</td></tr>
<tr><td class="h">39</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">40</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">41</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> return $self->to->file('index.html');</td></tr>
<tr><td class="h">42</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">43</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'archive_db' => (is=>'ro',isa=>'Path::Class::File',lazy_build=>1,traits=> ['NoGetopt']);</td></tr>
<tr><td class="h">44</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_archive_db {</td></tr>
<tr><td class="h">45</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L45">0</a></div></td><td></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">46</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> return $self->to->file('archive_db');</td></tr>
<tr><td class="h">47</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">48</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'previous_stats' => (is=>'ro',isa=>'ArrayRef',lazy_build=>1,traits=>['NoGetopt']);</td></tr>
<tr><td class="h">49</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_previous_stats {</td></tr>
<tr><td class="h">50</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L50">0</a></div></td><td></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">51</td><td><div class="c0">0</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L51">0</a></div></td><td></td><td></td><td></td><td class="s"> if (-e $self->archive_db) {</td></tr>
<tr><td class="h">52</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $dbr = $self->archive_db->openr;</td></tr>
<tr><td class="h">53</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my @data = <$dbr>; # probably better to just get last line...</td></tr>
<tr><td class="h">54</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my @prev = split(/;/,$data[-1]);</td></tr>
<tr><td class="h">55</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> return \@prev;</td></tr>
<tr><td class="h">56</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">57</td><td></td><td></td><td></td><td></td><td></td><td class="s"> else {</td></tr>
<tr><td class="h">58</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> return [undef,0,0,0];</td></tr>
<tr><td class="h">59</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">60</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">61</td><td colspan="6"></td></tr><tr><td class="h">62</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub run {</td></tr>
<tr><td class="h">63</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L63">0</a></div></td><td></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">64</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> $self->archive;</td></tr>
<tr><td class="h">65</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> $self->update_index;</td></tr>
<tr><td class="h">66</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">67</td><td colspan="6"></td></tr><tr><td class="h">68</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub archive {</td></tr>
<tr><td class="h">69</td><td><div class="c0">0</div></td><td></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L69">0</a></div></td><td></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">70</td><td colspan="6"></td></tr><tr><td class="h">71</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $from = $self->from;</td></tr>
<tr><td class="h">72</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $target = $self->to->subdir($self->runtime->iso8601);</td></tr>
<tr><td class="h">73</td><td colspan="6"></td></tr><tr><td class="h">74</td><td><div class="c0">0</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L74">0</a></div></td><td></td><td></td><td></td><td class="s"> if (-e $target) {</td></tr>
<tr><td class="h">75</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> say "This coverage report has already been archived.";</td></tr>
<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"> next unless $f=~/\.(html|css)$/;</td></tr>
<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"> copy($f->stringify,$target_string) || die "Cannot copy $from to $target_string: $!";</td></tr>
<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></tr>
<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)] );</td></tr>
<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) = @_;</td></tr>
<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">$date</a></td>};</td></tr>
<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' }</td></tr>
<tr><td class="h">115</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 ($_ < 90) { $style = 'c1' }</td></tr>
<tr><td class="h">116</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 ($_ < 100) { $style = 'c2' }</td></tr>
<tr><td class="h">117</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 ($_ >= 100) { $style = 'c3' }</td></tr>
<tr><td class="h">118</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">119</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> $new_stat.=qq{<td class="$style">$val</td>};</td></tr>
<tr><td class="h">120</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">121</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $prev_total = $prev_stats->[3];</td></tr>
<tr><td class="h">122</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> my $this_total = $last_row->[-1];</td></tr>
<tr><td class="h">123</td><td><div class="c0">0</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L123">0</a></div><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L123">0</a></div></td><td></td><td></td><td></td><td class="s"> if ($this_total == $prev_total) {</td></tr>
<tr><td class="h">124</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> $new_stat.=qq{<td class="c3">=</td>};</td></tr>
<tr><td class="h">125</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">126</td><td></td><td></td><td></td><td></td><td></td><td class="s"> elsif ($this_total > $prev_total) {</td></tr>
<tr><td class="h">127</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> $new_stat.=qq{<td class="c3">+</td>};</td></tr>
<tr><td class="h">128</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">129</td><td></td><td></td><td></td><td></td><td></td><td class="s"> else {</td></tr>
<tr><td class="h">130</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> $new_stat.=qq{<td class="c0">-</td>};</td></tr>
<tr><td class="h">131</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<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 class="s"> unless (-e $self->to->file('cover.css')) {</td></tr>
<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"> copy($self->from->file('cover.css'),$self->to->file('cover.css')) || warn "Cannot copy cover.css: $!";</td></tr>
<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) = @_;</td></tr>
<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->open(">>") || warn "Can't write archive.db: $!";</td></tr>
<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 || 'unnamed project';</td></tr>
<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>
<tr><td class="h">159</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s"> return <<"EOTMPL";</td></tr>
<tr><td class="h">160</td><td></td><td></td><td></td><td></td><td></td><td class="s"><!DOCTYPE html</td></tr>
<tr><td class="h">161</td><td></td><td></td><td></td><td></td><td></td><td class="s"> PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"</td></tr>
<tr><td class="h">162</td><td></td><td></td><td></td><td></td><td></td><td class="s"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></td></tr>
<tr><td class="h">163</td><td></td><td></td><td></td><td></td><td></td><td class="s"><html xmlns="http://www.w3.org/1999/xhtml"></td></tr>
<tr><td class="h">164</td><td></td><td></td><td></td><td></td><td></td><td class="s"><!-- This file was generated by $class version $version --></td></tr>
<tr><td class="h">165</td><td></td><td></td><td></td><td></td><td></td><td class="s"><head></td></tr>
<tr><td class="h">166</td><td></td><td></td><td></td><td></td><td></td><td class="s"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta></td></tr>
<tr><td class="h">167</td><td></td><td></td><td></td><td></td><td></td><td class="s"> <meta http-equiv="Content-Language" content="en-us"></meta></td></tr>
<tr><td class="h">168</td><td></td><td></td><td></td><td></td><td></td><td class="s"> <link rel="stylesheet" type="text/css" href="cover.css"></link></td></tr>
<tr><td class="h">169</td><td></td><td></td><td></td><td></td><td></td><td class="s"> <title>Test Coverage Archive for $name</title></td></tr>
<tr><td class="h">170</td><td></td><td></td><td></td><td></td><td></td><td class="s"></head></td></tr>
<tr><td class="h">171</td><td></td><td></td><td></td><td></td><td></td><td class="s"><body></td></tr>
<tr><td class="h">172</td><td colspan="6"></td></tr><tr><td class="h">173</td><td></td><td></td><td></td><td></td><td></td><td class="s"><body></td></tr>
<tr><td class="h">174</td><td></td><td></td><td></td><td></td><td></td><td class="s"><h1>Test Coverage Archive for $name</h1></td></tr>
<tr><td class="h">175</td><td colspan="6"></td></tr><tr><td class="h">176</td><td></td><td></td><td></td><td></td><td></td><td class="s"><table></td></tr>
<tr><td class="h">177</td><td></td><td></td><td></td><td></td><td></td><td class="s"><tr><th>Coverage Report</th><th>stmt</th><th>sub</th><th>total</th><th>Trend</th></tr></td></tr>
<tr><td class="h">178</td><td></td><td></td><td></td><td></td><td></td><td class="s"><!-- INSERT --></td></tr>
<tr><td class="h">179</td><td></td><td></td><td></td><td></td><td></td><td class="s"></table></td></tr>
<tr><td class="h">180</td><td colspan="6"></td></tr><tr><td class="h">181</td><td></td><td></td><td></td><td></td><td></td><td class="s"><p>Generated by <a href="http://metacpan.org/module/$class">$class</a> version $version.</p></td></tr>
<tr><td class="h">182</td><td colspan="6"></td></tr><tr><td class="h">183</td><td></td><td></td><td></td><td></td><td></td><td class="s"></body></td></tr>
<tr><td class="h">184</td><td></td><td></td><td></td><td></td><td></td><td class="s"></html></td></tr>
<tr><td class="h">185</td><td></td><td></td><td></td><td></td><td></td><td class="s">EOTMPL</td></tr>
<tr><td class="h">186</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">187</td><td colspan="6"></td></tr><tr><td class="h">188</td><td></td><td></td><td></td><td></td><td></td><td class="s">__PACKAGE__->meta->make_immutable;</td></tr>
<tr><td class="h">189</td><td></td><td></td><td></td><td></td><td></td><td class="s">1;</td></tr>
<tr><td class="h">190</td><td colspan="6"></td></tr></table>
</body>
</html>