summaryrefslogtreecommitdiffstats
path: root/lib/MooseX/Bread/Board.pm
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2011-02-20 02:04:52 -0600
committerJesse Luehrs <doy@tozt.net>2011-02-20 02:04:52 -0600
commit8ad579f26a1c74d5685491df55b57e694e54e087 (patch)
treede3c03114a1932c1ddbb4a72ae5c34c5ceaf19f3 /lib/MooseX/Bread/Board.pm
parenta0cc11a5f9b60226a07054d6041cc45b4ea2221a (diff)
downloadbread-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.pm25
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;