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