Remove punctuation so the errors read better
[gitmo/MooseX-Role-Parameterized.git] / lib / MooseX / Role / Parameterized / Meta / Role / Parameterizable.pm
index f76f296..9a0c2af 100644 (file)
@@ -28,8 +28,11 @@ sub add_parameter {
     my $self = shift;
     my $name = shift;
 
+    confess "You must provide a name for the parameter"
+        if !defined($name);
+
     # need to figure out a plan for these guys..
-    confess "The parameter name ($name) is currently forbidden."
+    confess "The parameter name ($name) is currently forbidden"
         if $name eq 'alias'
         || $name eq 'excludes';
 
@@ -42,7 +45,7 @@ sub construct_parameters {
 
     # need to figure out a plan for these guys..
     for my $name ('alias', 'excludes') {
-        confess "The parameter name ($name) is currently forbidden."
+        confess "The parameter name ($name) is currently forbidden"
             if exists $args{$name};
     }
 
@@ -61,6 +64,9 @@ sub generate_role {
     my $role = $self->parameterized_role_metaclass->create_anon_role(parameters => $parameters);
 
     local $MooseX::Role::Parameterized::CURRENT_METACLASS = $role;
+
+    $self->apply_parameterizable_role($role);
+
     $self->role_generator->($parameters,
         operating_on => $role,
     );
@@ -77,6 +83,12 @@ sub apply {
     $role->apply($class, %args);
 }
 
+sub apply_parameterizable_role {
+    my $self = shift;
+
+    $self->SUPER::apply(@_);
+}
+
 __PACKAGE__->meta->make_immutable;
 no Moose;