blob: fbf536bc6fd2ca8e56eb5dc1884d2a00e4f1e2a2 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
package MooseX::Bread::Board;
use Moose::Exporter;
my (undef, undef, $init_meta) = Moose::Exporter->build_import_methods(
install => ['import', 'unimport'],
class_metaroles => {
attribute => ['MooseX::Bread::Board::Meta::Role::Attribute'],
class => ['MooseX::Bread::Board::Meta::Role::Class'],
instance => ['MooseX::Bread::Board::Meta::Role::Instance'],
},
base_class_roles => ['MooseX::Bread::Board::Role::Object'],
);
sub init_meta {
my $package = shift;
my %options = @_;
if (my $meta = Class::MOP::class_of($options{for_class})) {
my @supers = $meta->superclasses;
$meta->superclasses('Bread::Board::Container')
if @supers == 1 && $supers[0] eq 'Moose::Object';
}
$package->$init_meta(%options);
}
1;
|