use Moose;
use MooseX::Types -declare => ['RunnableClass'];
use MooseX::Types::Moose qw(Str ClassName);
+use namespace::autoclean;
require Class::MOP;
as Str,
where { $_ =~ /^[:A-Za-z_]+$/ };
-use namespace::clean -except => 'meta';
# this class is just as runnable as any other, so I guess we should tag it
with 'MooseX::Runnable', 'MooseX::Object::Pluggable';
-has '+_plugin_ns' => ( default => 'MooseX::Runnable::Invocation::Plugin' );
-
has 'class' => (
is => 'ro',
isa => RunnableClass,
$self->_convert_role_to_scheme($_)
} $class->calculate_all_roles;
- foreach my $scheme (@schemes) {
- $scheme->apply($self);
- }
+ eval {
+ foreach my $scheme (@schemes) {
+ $scheme->apply($self);
+ }
+ };
}
my @bad_attributes = map { $_->name } grep {
$_->is_required && $_->has_default || $_->has_builder
- } $class->compute_all_applicable_attributes;
+ } $class->get_all_attributes;
confess
'By default, MooseX::Runnable calls the constructor with no'.