App-perlimports
view release on metacpan or search on metacpan
lib/App/perlimports/ExportInspector.pm view on Meta::CPAN
package App::perlimports::ExportInspector;
use Moo;
## no critic (Modules::RequireExplicitInclusion, Subroutines::ProhibitCallsToUnexportedSubs, TestingAndDebugging::ProhibitNoStrict)
our $VERSION = '0.000060';
use App::perlimports::Sandbox ();
use Class::Inspector ();
use List::Util qw( any );
use Module::Runtime qw( require_module );
use Sub::HandlesVia;
use Try::Tiny qw( catch try );
use Types::Standard qw(ArrayRef Bool HashRef Int InstanceOf Str);
with 'App::perlimports::Role::Logger';
has at_export => (
is => 'ro',
isa => ArrayRef [Str],
lazy => 1,
handles_via => 'Array',
handles => {
has_at_export => 'count',
},
default => sub { shift->_implicit->{export} },
);
has at_export_ok => (
is => 'ro',
isa => ArrayRef [Str],
lazy => 1,
handles_via => 'Array',
handles => {
all_at_export_ok => 'elements',
has_at_export_ok => 'count',
},
default => sub { shift->_implicit->{export_ok} },
);
has at_export_fail => (
is => 'ro',
isa => ArrayRef [Str],
lazy => 1,
default => sub { shift->_implicit->{export_fail} },
);
has at_export_tags => (
is => 'ro',
isa => ArrayRef [Str],
lazy => 1,
default => sub { shift->_implicit->{export_tags} },
);
has class_isa => (
is => 'ro',
isa => ArrayRef [Str],
lazy => 1,
default => sub { shift->_implicit->{class_isa} },
);
has has_fatal_error => (
is => 'ro',
isa => Bool,
lazy => 1,
default => sub {
my $self = shift;
( $self->_implicit->{fatal_error}
|| $self->explicit_exports->{fatal_error} )
? 1
: 0;
},
);
( run in 0.970 second using v1.01-cache-2.11-cpan-6de40a662fe )