support requires on Mouse::Role.
[gitmo/Mouse.git] / lib / Mouse / Role.pm
index 99170c2..057761a 100644 (file)
@@ -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,9 +51,13 @@ sub extends  { confess "Roles do not support 'extends'" }
 
 sub with     { confess "Mouse::Role does not currently support 'with'" }
 
-sub 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 {}
+sub excludes { confess "Mouse::Role does not currently support 'excludes'" }
 
 sub import {
     strict->import;