CPANTS-Kwalitee-Report
view release on metacpan or search on metacpan
lib/CPANTS/Kwalitee/Report/Generator.pm view on Meta::CPAN
package CPANTS::Kwalitee::Report::Generator;
$CPANTS::Kwalitee::Report::Generator::VERSION = '0.11';
$CPANTS::Kwalitee::Report::Generator::AUTHORITY = 'cpan:MANWAR';
=head1 NAME
CPANTS::Kwalitee::Report::Generator - Interface to Kwalitee Generator.
=head1 VERSION
Version 0.11
=cut
use 5.006;
use Data::Dumper;
use Moo;
use namespace::autoclean;
use overload q{""} => 'as_string', fallback => 1;
has [qw(name version indicators)] => (is => 'ro', required => 1);
has 'verbose' => (is => 'lazy');
sub _build_verbose { 0 }
=head1 DESCRIPTION
It represents Kwalitee Generator.
=head1 SYNOPSIS
use strict; use warnings;
use CPANTS::Kwalitee::Report;
my $report = CPANTS::Kwalitee::Report->new;
print sprintf("%s\n\n", join("\n", @{$report->generators}));
=head1 METHODS
=head2 name()
Returns generator name.
=head2 version()
Returns generator version as defined in the distribution L<Module::CPANTS::Analyse>.
=head2 indicators()
Returns an array ref of objects of type L<CPANTS::Kwalitee::Report::Indicator>.
=cut
sub as_string {
my ($self) = @_;
my $generator = sprintf("%s %s\n", $self->name, $self->version);
foreach my $indicator (@{$self->indicators}) {
$generator .= sprintf(" %s\n", $indicator->description);
if ($self->verbose) {
my $error = $indicator->error;
my $remedy = $indicator->remedy;
if (defined $error) {
$generator .= sprintf(" error: %s\n", $error);
}
if (defined $remedy) {
$generator .= sprintf(" remedy: %s\n", $remedy);
}
}
}
return $generator;
}
=head1 AUTHOR
( run in 1.154 second using v1.01-cache-2.11-cpan-0bb4e1dffa6 )