App-ArchiveDevelCover

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN

  "dist_abstract" => "Archive Devel::Cover reports",
  "dist_author" => [
    "Thomas Klausner <domm\@plix.at>"
  ],
  "dist_name" => "App-ArchiveDevelCover",
  "dist_version" => "1.004",
  "license" => "perl",
  "module_name" => "App::ArchiveDevelCover",
  "recursive_test_files" => 1,
  "requires" => {
    "DateTime" => 0,
    "File::Copy" => 0,
    "HTML::TableExtract" => 0,
    "Moose" => 0,
    "MooseX::Getopt" => 0,
    "MooseX::Types::Path::Class" => 0,
    "experimental" => 0,
    "perl" => "5.010",
    "strict" => 0,
    "warnings" => 0
  },

META.json  view on Meta::CPAN

            "Module::Build" : "0.28"
         }
      },
      "configure" : {
         "requires" : {
            "Module::Build" : "0.28"
         }
      },
      "runtime" : {
         "requires" : {
            "DateTime" : "0",
            "File::Copy" : "0",
            "HTML::TableExtract" : "0",
            "Moose" : "0",
            "MooseX::Getopt" : "0",
            "MooseX::Types::Path::Class" : "0",
            "experimental" : "0",
            "perl" : "5.010",
            "strict" : "0",
            "warnings" : "0"
         }

cpanfile  view on Meta::CPAN

# This file is generated by Dist::Zilla::Plugin::CPANFile v6.024
# Do not edit this file directly. To change prereqs, edit the `dist.ini` file.

requires "DateTime" => "0";
requires "File::Copy" => "0";
requires "HTML::TableExtract" => "0";
requires "Moose" => "0";
requires "MooseX::Getopt" => "0";
requires "MooseX::Types::Path::Class" => "0";
requires "experimental" => "0";
requires "perl" => "5.010";
requires "strict" => "0";
requires "warnings" => "0";

lib/App/ArchiveDevelCover.pm  view on Meta::CPAN

package App::ArchiveDevelCover;
use 5.010;
use Moose;
use MooseX::Types::Path::Class;
use DateTime;
use File::Copy;
use HTML::TableExtract;
use experimental qw(switch);

# ABSTRACT: Archive Devel::Cover reports
our $VERSION = '1.004'; # VERSION

with 'MooseX::Getopt';

has [qw(from to)] => (is=>'ro',isa=>'Path::Class::Dir',coerce=>1,required=>1,);

lib/App/ArchiveDevelCover.pm  view on Meta::CPAN

sub _build_coverage_html {
    my $self = shift;
    if (-e $self->from->file('coverage.html')) {
        return $self->from->file('coverage.html');
    }
    else {
        say "Cannot find 'coverage.html' in ".$self->from.'. Aborting';
        exit;
    }
}
has 'runtime' => (is=>'ro',isa=>'DateTime',lazy_build=>1,traits=> ['NoGetopt'],);
sub _build_runtime {
    my $self = shift;
    return DateTime->from_epoch(epoch=>$self->coverage_html->stat->mtime);
}
has 'archive_html' => (is=>'ro',isa=>'Path::Class::File',lazy_build=>1,traits=> ['NoGetopt']);
sub _build_archive_html {
    my $self = shift;
    unless (-e $self->to->file('index.html')) {
        my $tpl = $self->_archive_template;
        my $fh = $self->to->file('index.html')->openw;
        print $fh $tpl;
        close $fh;
    }

t/testdata/run_1/digests  view on Meta::CPAN

{"8c7e54ed5c12598189b4a9a2eff39445":"/home/domm/perl5/perlbrew/perls/perl-5.14.1/lib/site_perl/5.14.1/x86_64-linux/Moose/Meta/Method/Accessor.pm","eb3d1bb78dd3cec22e05ebbe19f3734a":"/home/domm/perl5/perlbrew/perls/perl-5.14.1/lib/5.14.1/x86_64-linux/...

t/testdata/run_1/lib-App-ArchiveDevelCover-pm.html  view on Meta::CPAN

<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--su...
<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>...
<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</di...
<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...
<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><...
<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...
<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 = &#39;1.000&#39;;</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 &#39;MooseX::Getopt&#39;;</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)] =&gt; (is=&gt;&#39;ro&#39;,isa=&gt;&#39;Path::Class::Dir&#39;,coerce=&gt;1,required=&gt;1,);</td>...
<tr><td class="h">15</td><td></td><td></td><td></td><td></td><td></td><td class="s">has &#39;project&#39; =&gt; (is =&gt; &#39;ro&#39;, isa=&gt;&#39;Str&#39;);</td></tr>
<tr><td class="h">16</td><td></td><td></td><td></td><td></td><td></td><td class="s">has &#39;coverage_html&#39; =&gt; (is=&gt;&#39;ro&#39;,isa=&gt;&#39;Path::Class::File&#39;,lazy_build=&gt;1,traits=&gt; [&#39;NoGetopt&#39;]);</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">&nbsp;&nbsp;&nbsp;&nbsp;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">&nbsp;&nbsp;&nbsp;&nbsp;if (-e $self-&gt;from-&g...
<tr><td class="h">20</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $self-&gt;from-&gt;file(&#39;coverage.html&#39;);</td></tr>
<tr><td class="h">21</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">22</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;say &quot;Cannot find &#39;coverage.html&#39; in &quot;.$self-&gt;from.&#39;. Aborting&#39;;</t...
<tr><td class="h">24</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit;</td></tr>
<tr><td class="h">25</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</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 &#39;runtime&#39; =&gt; (is=&gt;&#39;ro&#39;,isa=&gt;&#39;DateTime&#39;,lazy_build=&gt;1,traits=&gt; [&#39;NoGetopt&#39;],);</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">&nbsp;&nbsp;&nbsp;&nbsp;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">&nbsp;&nbsp;&nbsp;&nbsp;return DateTime-&gt;from_epoch(epoch=&gt;$self-&gt;coverage_html-&gt;stat-&gt;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 &#39;archive_html&#39; =&gt; (is=&gt;&#39;ro&#39;,isa=&gt;&#39;Path::Class::File&#39;,lazy_build=&gt;1,traits=&gt; [&#39;NoGetopt&#39;]);</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">&nbsp;&nbsp;&nbsp;&nbsp;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">&nbsp;&nbsp;&nbsp;&nbsp;unless (-e $self-&gt;to-...
<tr><td class="h">36</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $tpl = $self-&gt;_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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $fh = $self-&gt;to-&gt;file(&#39;index.html&#39;)-&gt;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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;close $fh;</td></tr>
<tr><td class="h">40</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>

t/testdata/run_2/digests  view on Meta::CPAN

{"4a9b2a5bdd05b8f12371f0bd13135b95":"/home/domm/perl5/perlbrew/perls/perl-5.14.1/lib/5.14.1/integer.pm","eb3d1bb78dd3cec22e05ebbe19f3734a":"/home/domm/perl5/perlbrew/perls/perl-5.14.1/lib/5.14.1/x86_64-linux/Cwd.pm","8ae61853aadd821027e6e2b787c2f370"...

t/testdata/run_2/lib-App-ArchiveDevelCover-pm.html  view on Meta::CPAN

<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="c1">76.2%</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">2</div><div class="c3">2</div><div class="c3">2</div><div class="c3">2</div><div class="c3">2</div><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--su...
<tr><td class="h">3</td><td><div class="c3">2</div><div class="c3">2</div><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L3">2</a></div></td><td><div>615</div><div>715734</div>...
<tr><td class="h">4</td><td><div class="c3">2</div><div class="c3">2</div><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L4">2</a></div></td><td><div>11548</div><div>576519</di...
<tr><td class="h">5</td><td><div class="c3">2</div><div class="c3">2</div><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L5">2</a></div></td><td><div>2450</div><div>224791</div...
<tr><td class="h">6</td><td><div class="c3">2</div><div class="c3">2</div><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L6">2</a></div></td><td><div>420</div><div>2849</div><d...
<tr><td class="h">7</td><td><div class="c3">2</div><div class="c3">2</div><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L7">2</a></div></td><td><div>915</div><div>19291</div><...
<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 = &#39;1.000&#39;;</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 &#39;MooseX::Getopt&#39;;</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)] =&gt; (is=&gt;&#39;ro&#39;,isa=&gt;&#39;Path::Class::Dir&#39;,coerce=&gt;1,required=&gt;1,);</td>...
<tr><td class="h">15</td><td></td><td></td><td></td><td></td><td></td><td class="s">has &#39;project&#39; =&gt; (is =&gt; &#39;ro&#39;, isa=&gt;&#39;Str&#39;);</td></tr>
<tr><td class="h">16</td><td></td><td></td><td></td><td></td><td></td><td class="s">has &#39;coverage_html&#39; =&gt; (is=&gt;&#39;ro&#39;,isa=&gt;&#39;Path::Class::File&#39;,lazy_build=&gt;1,traits=&gt; [&#39;NoGetopt&#39;]);</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="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L18">2</a></div></td><td><div>26</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $self = shift;</...
<tr><td class="h">19</td><td><div class="c3">2</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><div>15</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;if (-e $sel...
<tr><td class="h">20</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>854</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $self-&gt;from-&gt;file(&#39;coverage.html&#39;);</td></tr>
<tr><td class="h">21</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>
<tr><td class="h">22</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;else {</td></tr>
<tr><td class="h">23</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;say &quot;Cannot find &#39;coverage.html&#39; in &quot;.$self-&gt;from.&#39;. Abort...
<tr><td class="h">24</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td><div>0</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit;</td></tr>
<tr><td class="h">25</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</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 &#39;runtime&#39; =&gt; (is=&gt;&#39;ro&#39;,isa=&gt;&#39;DateTime&#39;,lazy_build=&gt;1,traits=&gt; [&#39;NoGetopt&#39;],);</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="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L29">2</a></div></td><td><div>44</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $self = shift;</...
<tr><td class="h">30</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>17</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;return DateTime-&gt;from_epoch(epoch=&gt;$self-&gt;coverage_html-&gt;stat-&gt;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 &#39;archive_html&#39; =&gt; (is=&gt;&#39;ro&#39;,isa=&gt;&#39;Path::Class::File&#39;,lazy_build=&gt;1,traits=&gt; [&#39;NoGetopt&#39;]);</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="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L34">1</a></div></td><td><div>13</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;my $self = shift;</...
<tr><td class="h">35</td><td><div class="c3">1</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><div>6</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;unless (-e $...
<tr><td class="h">36</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>323</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $tpl = $self-&gt;_archive_template;</td></tr>
<tr><td class="h">37</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>8</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $fh = $self-&gt;to-&gt;file(&#39;index.html&#39;)-&gt;openw;</td></tr>
<tr><td class="h">38</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>433</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print $fh $tpl;</td></tr>
<tr><td class="h">39</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>13</div></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;close $fh;</td></tr>
<tr><td class="h">40</td><td></td><td></td><td></td><td></td><td></td><td class="s">&nbsp;&nbsp;&nbsp;&nbsp;}</td></tr>



( run in 0.534 second using v1.01-cache-2.11-cpan-05444aca049 )