X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMouse%2FRole.pm;h=057761a638abf076ad307bae3089d7ea1c34d91d;hb=59089ec36675c7df1998945b1446c37794f88306;hp=cf47b5bc8355a4736436eb7a4cfe2d8602d71ea9;hpb=2badb84a6fe5f279c120179030f77c62d9b4dd05;p=gitmo%2FMouse.git diff --git a/lib/Mouse/Role.pm b/lib/Mouse/Role.pm index cf47b5b..057761a 100644 --- a/lib/Mouse/Role.pm +++ b/lib/Mouse/Role.pm @@ -5,7 +5,7 @@ use warnings; use base 'Exporter'; use Carp 'confess'; -use Scalar::Util 'blessed'; +use Mouse::Util 'blessed'; use Mouse::Meta::Role; @@ -51,7 +51,11 @@ sub extends { confess "Roles do not support 'extends'" } sub with { confess "Mouse::Role does not currently support 'with'" } -sub requires { confess "Mouse::Role does not currently support 'requires'" } +sub requires { + my $meta = Mouse::Meta::Role->initialize(caller); + Carp::croak "Must specify at least one method" unless @_; + $meta->add_required_methods(@_); +} sub excludes { confess "Mouse::Role does not currently support 'excludes'" }