App-CPANTS-Lint
view release on metacpan or search on metacpan
lib/App/CPANTS/Lint.pm view on Meta::CPAN
\%scheme;
}
sub _colour {
my ($self) = @_;
my $scheme = $self->_colour_scheme;
my $icon = $^O eq 'MSWin32'
? {pass => 'o', fail => 'x'}
: {pass => "\x{2713}", fail => "\x{2717}"};
my $report = Term::ANSIColor::colored("Distribution: ", "bold $scheme->{heading}")
. Term::ANSIColor::colored($self->result->{dist}, "bold $scheme->{title}")
. "\n";
my %failed;
for my $arr (values %{$self->result->{fails}}) {
for my $fail (@$arr) {
$failed{$fail->{name}} = $fail;
}
}
my $core_fails = 0;
for my $type (qw/ Core Optional Experimental /) {
$report .= Term::ANSIColor::colored("\n$type\n", "bold $scheme->{heading}");
my @inds = $self->{mca}->mck->get_indicators(lc $type);
my @fails;
for my $ind (@inds) {
if ($failed{ $ind->{name} }) {
push @fails, $ind;
$core_fails++ if $type eq 'Core';
$report .= Term::ANSIColor::colored(" $icon->{fail} ", $scheme->{fail}) . $ind->{name};
$report .= ": " . Term::ANSIColor::colored($failed{ $ind->{name} }{error}, $scheme->{error})
if $failed{ $ind->{name} }{error};
} else {
$report .= Term::ANSIColor::colored(" $icon->{pass} ", $scheme->{pass}) . $ind->{name};
}
$report .= "\n";
}
for my $fail (@fails) {
$report .= "\n"
. Term::ANSIColor::colored("Name: ", "bold $scheme->{summary}")
. Term::ANSIColor::colored("$fail->{name}\n", $scheme->{summary})
. Term::ANSIColor::colored("Remedy: ", "bold $scheme->{summary}")
. Term::ANSIColor::colored("$fail->{remedy}\n", $scheme->{summary});
}
}
my $scorecolour = $scheme->{pass};
$scorecolour = $scheme->{warn} if keys %failed;
$scorecolour = $scheme->{fail} if $core_fails;
$report .= "\n"
. Term::ANSIColor::colored("Score: ", "bold $scheme->{heading}")
. Term::ANSIColor::colored($self->result->{score}, "bold $scorecolour")
. "\n";
$report;
}
sub output_report {
my $self = shift;
if ($self->{opts}{save}) {
my $file = $self->report_file;
open my $fh, '>:utf8', $file or croak "Cannot write to $file: $!";
( run in 1.437 second using v1.01-cache-2.11-cpan-ceb78f64989 )