diff options
Diffstat (limited to 'lib/MooseX/Bread/Board.pm')
-rw-r--r-- | lib/MooseX/Bread/Board.pm | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/MooseX/Bread/Board.pm b/lib/MooseX/Bread/Board.pm index e69de29..f40797e 100644 --- a/lib/MooseX/Bread/Board.pm +++ b/lib/MooseX/Bread/Board.pm @@ -0,0 +1,25 @@ +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'], + }, + 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; |