r65007 - in /trunk/libmoosex-role-parameterized-perl: Changes META.yml debian/changelog lib/MooseX/Role/Parameterized.pm lib/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm t/002-role-block.t

gregoa at users.alioth.debian.org gregoa at users.alioth.debian.org
Wed Nov 17 19:57:10 UTC 2010


Author: gregoa
Date: Wed Nov 17 19:56:53 2010
New Revision: 65007

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=65007
Log:
New upstream release.

Modified:
    trunk/libmoosex-role-parameterized-perl/Changes
    trunk/libmoosex-role-parameterized-perl/META.yml
    trunk/libmoosex-role-parameterized-perl/debian/changelog
    trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized.pm
    trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm
    trunk/libmoosex-role-parameterized-perl/t/002-role-block.t

Modified: trunk/libmoosex-role-parameterized-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-role-parameterized-perl/Changes?rev=65007&op=diff
==============================================================================
--- trunk/libmoosex-role-parameterized-perl/Changes (original)
+++ trunk/libmoosex-role-parameterized-perl/Changes Wed Nov 17 19:56:53 2010
@@ -1,4 +1,7 @@
 Changes for MooseX-Role-Parameterized
+
+0.21  November 15, 2010
+    * "package" arg can now tell generate_role to use a specific package (rjbs)
 
 0.20  November 2, 2010
     * Minor test refactoring to fix blead support [rt.perl.org #78244]

Modified: trunk/libmoosex-role-parameterized-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-role-parameterized-perl/META.yml?rev=65007&op=diff
==============================================================================
--- trunk/libmoosex-role-parameterized-perl/META.yml (original)
+++ trunk/libmoosex-role-parameterized-perl/META.yml Wed Nov 17 19:56:53 2010
@@ -27,4 +27,4 @@
   homepage: http://github.com/sartak/MooseX-Role-Parameterized/tree
   license: http://dev.perl.org/licenses/
   repository: git://github.com/sartak/MooseX-Role-Parameterized.git
-version: 0.20
+version: 0.21

Modified: trunk/libmoosex-role-parameterized-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-role-parameterized-perl/debian/changelog?rev=65007&op=diff
==============================================================================
--- trunk/libmoosex-role-parameterized-perl/debian/changelog (original)
+++ trunk/libmoosex-role-parameterized-perl/debian/changelog Wed Nov 17 19:56:53 2010
@@ -1,3 +1,9 @@
+libmoosex-role-parameterized-perl (0.21-1) UNRELEASED; urgency=low
+
+  * New upstream release.
+
+ -- gregor herrmann <gregoa at debian.org>  Wed, 17 Nov 2010 20:55:26 +0100
+
 libmoosex-role-parameterized-perl (0.20-1) unstable; urgency=low
 
   [ Ansgar Burchardt ]

Modified: trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized.pm?rev=65007&op=diff
==============================================================================
--- trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized.pm (original)
+++ trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized.pm Wed Nov 17 19:56:53 2010
@@ -7,7 +7,7 @@
 
 use MooseX::Role::Parameterized::Meta::Role::Parameterizable;
 
-our $VERSION = '0.20';
+our $VERSION = '0.21';
 our $CURRENT_METACLASS;
 
 Moose::Exporter->setup_import_methods(

Modified: trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm?rev=65007&op=diff
==============================================================================
--- trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm (original)
+++ trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized/Meta/Role/Parameterizable.pm Wed Nov 17 19:56:53 2010
@@ -82,10 +82,19 @@
     my $parameterized_role_metaclass = $self->parameterized_role_metaclass;
     Class::MOP::load_class($parameterized_role_metaclass);
 
-    my $role = $parameterized_role_metaclass->create_anon_role(
-        genitor    => $self,
-        parameters => $parameters,
-    );
+    my $role;
+    if ($args{package}) {
+        $role = $parameterized_role_metaclass->create(
+            $args{package},
+            genitor    => $self,
+            parameters => $parameters,
+        );
+    } else {
+        $role = $parameterized_role_metaclass->create_anon_role(
+            genitor    => $self,
+            parameters => $parameters,
+        );
+    }
 
     local $MooseX::Role::Parameterized::CURRENT_METACLASS = $role;
 
@@ -187,7 +196,8 @@
 Returns a new instance of
 L<MooseX::Role::Parameterized::Meta::Role::Parameterized> based on the
 arguments. The arguments are a hash reference of C<parameters> and, if
-available, a C<consumer> metaobject.
+available, a C<consumer> metaobject.  A C<package> argument may be given to use
+a specific package name instead of autogenerating one.
 
 =head2 apply
 

Modified: trunk/libmoosex-role-parameterized-perl/t/002-role-block.t
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-role-parameterized-perl/t/002-role-block.t?rev=65007&op=diff
==============================================================================
--- trunk/libmoosex-role-parameterized-perl/t/002-role-block.t (original)
+++ trunk/libmoosex-role-parameterized-perl/t/002-role-block.t Wed Nov 17 19:56:53 2010
@@ -1,7 +1,7 @@
 #!/usr/bin/env perl
 use strict;
 use warnings;
-use Test::More tests => 8;
+use Test::More 0.96 tests => 3;
 use Test::Exception;
 
 my ($parameters, %args);
@@ -32,22 +32,54 @@
 
 ok(MyPerson->meta->has_role_generator, "MyPerson has a role generator");
 
-my $role = MyPerson->meta->generate_role(
-    parameters => {
-        default_age => 7,
-    },
-);
+subtest "generation of an anonymous role" => sub {
+    plan tests => 8;
+    my $role = MyPerson->meta->generate_role(
+        parameters => {
+            default_age => 7,
+        },
+    );
 
-isa_ok($role, 'Moose::Meta::Role', 'generate_role created a role');
+    isa_ok($role, 'Moose::Meta::Role', 'generate_role created a role');
 
-is($role->parameters, $parameters, 'the generated role knows its parameters');
+    like($role->name, qr{ANON}, '...with an anonymous name');
 
-is($parameters->default_age, 7);
-is($args{operating_on}, $role, "we pass in the role metaclass that we're operating on");
+    is($role->parameters, $parameters, 'the generated role knows its parameters');
 
-my $age_attr = $role->get_attribute('age');
-is($age_attr->{default}, 7, "role's age attribute has the right default");
+    is($parameters->default_age, 7);
+    is($args{operating_on}, $role, "we pass in the role metaclass that we're operating on");
 
-my $birthday_method = $role->get_method('birthday');
-is($birthday_method->name, 'birthday', "method name");
-is($birthday_method->package_name, $role->name, "package name");
+    my $age_attr = $role->get_attribute('age');
+    is($age_attr->{default}, 7, "role's age attribute has the right default");
+
+    my $birthday_method = $role->get_method('birthday');
+    is($birthday_method->name, 'birthday', "method name");
+    is($birthday_method->package_name, $role->name, "package name");
+};
+
+subtest "generating a role with a provided name" => sub {
+    plan tests => 8;
+
+    my $role = MyPerson->meta->generate_role(
+        package    => 'RJBS::Was::Here',
+        parameters => {
+            default_age => 10,
+        },
+    );
+
+    isa_ok($role, 'Moose::Meta::Role', 'generate_role created a role');
+
+    is($role->name, 'RJBS::Was::Here', '...with the name we expected');
+
+    is($role->parameters, $parameters, 'the generated role knows its parameters');
+
+    is($parameters->default_age, 10);
+    is($args{operating_on}, $role, "we pass in the role metaclass that we're operating on");
+
+    my $age_attr = $role->get_attribute('age');
+    is($age_attr->{default}, 10, "role's age attribute has the right default");
+
+    my $birthday_method = $role->get_method('birthday');
+    is($birthday_method->name, 'birthday', "method name");
+    is($birthday_method->package_name, $role->name, "package name");
+};




More information about the Pkg-perl-cvs-commits mailing list