Acme-ReturnValue
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Acme/ReturnValue.pm view on Meta::CPAN
package Acme::ReturnValue;
# ABSTRACT: report interesting return values
our $VERSION = '1.004'; # VERSION
use 5.010;
use strict;
use warnings;
use PPI;
use File::Find;
use Parse::CPAN::Packages;
use Path::Class qw();
use File::Temp qw(tempdir);
use File::Path;
use File::Copy;
use Archive::Any;
use Data::Dumper;
use JSON;
use Encode;
use Moose;
use List::Util qw(any);
with qw(MooseX::Getopt);
use MooseX::Types::Path::Class;
has 'interesting' => (is=>'rw',isa=>'ArrayRef',default=>sub {[]});
has 'bad' => (is=>'rw',isa=>'ArrayRef',default=>sub {[]});
has 'failed' => (is=>'rw',isa=>'ArrayRef',default=>sub {[]});
has 'quiet' => (is=>'ro',isa=>'Bool',default=>0);
has 'inc' => (is=>'ro',isa=>'Bool',default=>0);
has 'dir' => (is=>'ro',isa=>'Path::Class::Dir',coerce=>1);
has 'file' => (is=>'ro',isa=>'Path::Class::File',coerce=>1);
has 'cpan' => (is=>'ro',isa=>'Path::Class::Dir',coerce=>1);
has 'dump_to' => (is=>'ro',isa=>'Path::Class::Dir',coerce=>1,default=>'returnvalues');
has 'json_encoder' => (is=>'ro',lazy_build=>1);
sub _build_json_encoder {
return JSON->new->pretty;
}
sub run {
my $self = shift;
if ($self->inc) {
$self->in_INC;
}
elsif ($self->dir) {
$self->in_dir($self->dir);
}
elsif ($self->file) {
$self->in_file($self->file);
}
elsif ($self->cpan) {
$self->in_CPAN($self->cpan,$self->dump_to);
exit;
}
else {
$self->in_dir('.');
}
my $interesting=$self->interesting;
if (@$interesting > 0) {
foreach my $cool (@$interesting) {
say $cool->{package} .': '.$cool->{value};
}
}
else {
say "boring!";
}
}
sub waste_some_cycles {
my ($self, $filename) = @_;
view all matches for this distributionview release on metacpan - search on metacpan
( run in 1.170 second using v1.00-cache-2.02-grep-82fe00e-cpan-2c419f77a38b )