summaryrefslogtreecommitdiffstats
path: root/lib/MooseX/Bread/Board/Meta/Role/Class.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/MooseX/Bread/Board/Meta/Role/Class.pm')
-rw-r--r--lib/MooseX/Bread/Board/Meta/Role/Class.pm11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/MooseX/Bread/Board/Meta/Role/Class.pm b/lib/MooseX/Bread/Board/Meta/Role/Class.pm
index 9cabd88..47c34bd 100644
--- a/lib/MooseX/Bread/Board/Meta/Role/Class.pm
+++ b/lib/MooseX/Bread/Board/Meta/Role/Class.pm
@@ -31,6 +31,17 @@ sub get_all_services {
$self->linearized_isa;
}
+before superclasses => sub {
+ my $self = shift;
+
+ return unless @_;
+ return if any { $_->isa('Bread::Board::Container') } @_;
+
+ die "Cannot inherit from " . join(', ', @_)
+ . " because MooseX::Bread::Board classes must inherit"
+ . " from Bread::Board::Container";
+};
+
no Moose::Role;
1;