diff options
author | Jesse Luehrs <doy@tozt.net> | 2011-02-20 02:04:52 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2011-02-20 02:04:52 -0600 |
commit | 8ad579f26a1c74d5685491df55b57e694e54e087 (patch) | |
tree | de3c03114a1932c1ddbb4a72ae5c34c5ceaf19f3 /lib/MooseX/Bread/Board.pm | |
parent | a0cc11a5f9b60226a07054d6041cc45b4ea2221a (diff) | |
download | bread-board-declare-8ad579f26a1c74d5685491df55b57e694e54e087.tar.gz bread-board-declare-8ad579f26a1c74d5685491df55b57e694e54e087.zip |
initial implementation
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; |