diff options
author | Jesse Luehrs <doy@tozt.net> | 2011-02-21 12:47:26 -0600 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2011-02-21 12:47:26 -0600 |
commit | 7254fb6a608b1f54d52572a859356236d0a0ba2e (patch) | |
tree | 831674191eefadef8d23ef0b2f6809fd6c4241f6 /lib | |
parent | f143c2f7abc0b026d8825640c513732853311a43 (diff) | |
download | bread-board-declare-7254fb6a608b1f54d52572a859356236d0a0ba2e.tar.gz bread-board-declare-7254fb6a608b1f54d52572a859356236d0a0ba2e.zip |
ensure we always inherit from Bread::Board::Container
Diffstat (limited to 'lib')
-rw-r--r-- | lib/MooseX/Bread/Board/Meta/Role/Class.pm | 11 |
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; |