r43973 - in /trunk/libmoosex-role-parameterized-perl: Changes META.yml debian/changelog lib/MooseX/Role/Parameterized.pm lib/MooseX/Role/Parameterized/Tutorial.pod
carnil-guest at users.alioth.debian.org
carnil-guest at users.alioth.debian.org
Sat Sep 12 08:08:14 UTC 2009
Author: carnil-guest
Date: Sat Sep 12 08:08:04 2009
New Revision: 43973
URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=43973
Log:
* New upstream release
- Documentation improvements
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/Tutorial.pod
Modified: trunk/libmoosex-role-parameterized-perl/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-role-parameterized-perl/Changes?rev=43973&op=diff
==============================================================================
--- trunk/libmoosex-role-parameterized-perl/Changes (original)
+++ trunk/libmoosex-role-parameterized-perl/Changes Sat Sep 12 08:08:04 2009
@@ -1,4 +1,7 @@
Changes for MooseX-Role-Parameterized
+
+0.13 Sep 11, 2009
+ * Documentation improvements (Sartak)
0.12 Aug 15, 2009
* Add MooseX::Role::Parameterized->current_metaclass for forward compat
Modified: trunk/libmoosex-role-parameterized-perl/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-role-parameterized-perl/META.yml?rev=43973&op=diff
==============================================================================
--- trunk/libmoosex-role-parameterized-perl/META.yml (original)
+++ trunk/libmoosex-role-parameterized-perl/META.yml Sat Sep 12 08:08:04 2009
@@ -26,4 +26,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.12
+version: 0.13
Modified: trunk/libmoosex-role-parameterized-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-role-parameterized-perl/debian/changelog?rev=43973&op=diff
==============================================================================
--- trunk/libmoosex-role-parameterized-perl/debian/changelog (original)
+++ trunk/libmoosex-role-parameterized-perl/debian/changelog Sat Sep 12 08:08:04 2009
@@ -1,8 +1,13 @@
-libmoosex-role-parameterized-perl (0.12-2) UNRELEASED; urgency=low
+libmoosex-role-parameterized-perl (0.13-1) UNRELEASED; urgency=low
+ [ Ryan Niebur ]
* Update jawnsy's email address
- -- Ryan Niebur <ryanryan52 at gmail.com> Tue, 01 Sep 2009 21:19:19 -0700
+ [ Salvatore Bonaccorso ]
+ * New upstream release
+ - Documentation improvements
+
+ -- Salvatore Bonaccorso <salvatore.bonaccorso at gmail.com> Sat, 12 Sep 2009 10:07:25 +0200
libmoosex-role-parameterized-perl (0.12-1) unstable; urgency=low
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=43973&op=diff
==============================================================================
--- trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized.pm (original)
+++ trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized.pm Sat Sep 12 08:08:04 2009
@@ -7,7 +7,7 @@
use MooseX::Role::Parameterized::Meta::Role::Parameterizable;
-our $VERSION = '0.12';
+our $VERSION = '0.13';
our $CURRENT_METACLASS;
Moose::Exporter->setup_import_methods(
@@ -160,7 +160,7 @@
=head1 SYNOPSIS
- package MyRole::Counter;
+ package Counter;
use MooseX::Role::Parameterized;
parameter name => (
@@ -193,12 +193,12 @@
package MyGame::Weapon;
use Moose;
- with 'MyRole::Counter' => { name => 'enchantment' };
+ with Counter => { name => 'enchantment' };
package MyGame::Wand;
use Moose;
- with 'MyRole::Counter' => { name => 'zapped' };
+ with Counter => { name => 'zapped' };
=head1 L<MooseX::Role::Parameterized::Tutorial>
@@ -280,6 +280,8 @@
=item L<MooseX::Role::XMLRPC::Client>
+=item L<MooseX::WithCache>
+
=item L<Net::Journyx::Object::Loadable>
=item L<NetHack::Item::Role::IncorporatesStats>
@@ -295,6 +297,8 @@
L<http://sartak.blogspot.com/2009/05/parameterized-roles.html>
L<http://stevan-little.blogspot.com/2009/07/thoughts-on-parameterized-roles.html>
+
+L<http://sartak.org/talks/yapc-asia-2009/(parameterized)-roles/>
=head1 COPYRIGHT AND LICENSE
Modified: trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized/Tutorial.pod
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized/Tutorial.pod?rev=43973&op=diff
==============================================================================
--- trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized/Tutorial.pod (original)
+++ trunk/libmoosex-role-parameterized-perl/lib/MooseX/Role/Parameterized/Tutorial.pod Sat Sep 12 08:08:04 2009
@@ -169,6 +169,32 @@
...
}
+=item Additional validation
+
+Ordinary roles can require that its consumers have a particular list of method
+names. Since parameterized roles have direct access to its consumer, you can inspect it and throw errors if the consumer does not meet your needs.
+
+ role {
+ my $p = shift;
+ my %args = @_;
+ my $consumer = $args{consumer};
+
+ $consumer->find_attribute_by_name('stack')
+ or confess "You must have a 'stack' attribute";
+
+ my $push = $consumer->find_method_by_name('push')
+ or confess "You must have a 'push' method";
+
+ my $params = $push->parsed_signature->positional_params->params;
+ @$params == 1
+ or confess "Your push method must take a single parameter";
+
+ $params->[0]->sigil eq '$'
+ or confess "Your push parameter must be a scalar";
+
+ ...
+ }
+
=back
=cut
More information about the Pkg-perl-cvs-commits
mailing list