Allow passing in an already constructed parameter object
Shawn M Moore [Wed, 26 Nov 2008 07:52:29 +0000 (07:52 +0000)]
lib/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm

index 0b9b566..6aa19de 100644 (file)
@@ -37,13 +37,13 @@ sub construct_parameters {
 
 sub generate_role {
     my $self = shift;
-    my %args = @_;
+
+    my $parameters = @_ == 1 ? shift
+                             : $self->construct_parameters(@_);
 
     confess "A role generator is required to generate roles"
         unless $self->has_role_generator;
 
-    my $parameters = $self->construct_parameters(%args);
-
     my $role = $self->parameterized_role_metaclass->create_anon_role(parameters => $parameters);
 
     local $MooseX::Role::Parameterized::CURRENT_METACLASS = $role;