package Mooose;
use Moose::Exporter;
use MooseX::NonMoose ();
use MooseX::Aliases ();
my ($import, $unimport, $init_meta) = Moose::Exporter->build_import_methods(
also => ['MooseX::NonMoose', 'MooseX::Aliases'],
class_metaroles => {
class => ['My::App::Meta::Class'],
},
);
sub import {
strict->import;
warnings->import;
autodie->import;
feature->import(':5.10');
MooseX::Aliases->import;
goto $import;
}
sub unimport {
# .... (s/import/unimport/ on the above)
goto $unimport;
}
sub init_meta {
my ($package, %options) = @_;
die unless $options{for_class}->isa('My::Base::Class');
goto $init_meta;
}