##
package MyApp::Moose;
use strict;
use warnings;
use namespace::autoclean;
use Hook::AfterRuntime;
use Import::Into;
use Moose ();
use Clone 'clone';
sub import {
my ($class, @opts) = @_;
my $caller = caller;
my %opt = map { $_ => 1 } @opts;
strict->import::into($caller);
warnings->import();
Clone->import::into($caller,'clone');
if($opt{role}) {
require Moose::Role;
Moose::Role->import({into=>$caller});
} else {
Moose->import({into=>$caller});
after_runtime {
$caller->meta->make_immutable();
};
}
namespace::autoclean->import(
-cleanee => $caller,
);
return;
}
1;
##
##
package MyApp::Process;
use MyApp::Moose;
sub some_method {
my ($self, $db_id) = @_;
# I want to call like this
$self->check_entity($db_id) || return;
}
1;