X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FMooseX%2FRole%2FParameterized%2FMeta%2FRole%2FParameterizable.pm;h=6ccab6d29ae3d75d29dd0c00a83c352d626f952d;hb=21c3ef8c081bfacc9553aeacee13f308280ee44f;hp=6aa19def4ae0e4010934359b8f1d5fb907b5d5c6;hpb=a4ac31faae1285a2845e8df887f1543b12970604;p=gitmo%2FMooseX-Role-Parameterized.git diff --git a/lib/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm b/lib/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm index 6aa19de..6ccab6d 100644 --- a/lib/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm +++ b/lib/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm @@ -27,12 +27,27 @@ has role_generator => ( sub add_parameter { my $self = shift; - $self->parameter_metaclass->add_attribute(@_); + my $name = shift; + + # need to figure out a plan for these guys.. + confess "The parameter name ($name) is currently forbidden." + if $name eq 'alias' + || $name eq 'excludes'; + + $self->parameter_metaclass->add_attribute($name => @_); } sub construct_parameters { my $self = shift; - $self->parameter_metaclass->new_object(@_); + my %args = @_; + + # need to figure out a plan for these guys.. + for my $name ('alias', 'excludes') { + confess "The parameter name ($name) is currently forbidden." + if exists $args{$name}; + } + + $self->parameter_metaclass->new_object(\%args); } sub generate_role {