X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FRole%2FParameterized.pm;h=24152fe895465f6a883e4d5fe63fc39f54708f8a;hb=fc4a95b67fb93b9b80dfbf0c9e6663cf3dccb602;hp=80ba9c5d5b6f848b96b5d3aa0cd2db6b1a51ce0e;hpb=328ca81fdad1ef25b933b2765bf6b265a8596e43;p=gitmo%2FMooseX-Role-Parameterized.git diff --git a/lib/MooseX/Role/Parameterized.pm b/lib/MooseX/Role/Parameterized.pm index 80ba9c5..24152fe 100644 --- a/lib/MooseX/Role/Parameterized.pm +++ b/lib/MooseX/Role/Parameterized.pm @@ -1,8 +1,13 @@ #!/usr/bin/env perl package MooseX::Role::Parameterized; -use Moose qw/extends around confess/; +use Moose ( + extends => { -as => 'moose_extends' }, + qw/around confess/, +); + +use Carp 'croak'; use Moose::Role (); -extends 'Moose::Exporter'; +moose_extends 'Moose::Exporter'; use MooseX::Role::Parameterized::Meta::Role::Parameterizable; @@ -10,7 +15,7 @@ our $CURRENT_METACLASS; __PACKAGE__->setup_import_methods( with_caller => ['parameter', 'role', 'method'], - as_is => ['has'], + as_is => ['has', 'extends', 'augment', 'inner'], ); sub parameter { @@ -79,5 +84,11 @@ sub method { $CURRENT_METACLASS->add_method($name => $method); } +sub extends { croak "Roles do not currently support 'extends'" } + +sub inner { croak "Roles cannot support 'inner'" } + +sub augment { croak "Roles cannot support 'augment'" } + 1;