MooseX::Mangle - mangle the argument list or return values of your methods
version 0.02
package Foo; use Moose; sub foo { "FOO" } sub bar { shift; join '-', @_ } package Foo::Sub; use Moose; use MooseX::Mangle; extends 'Foo'; mangle_return foo => sub { my $self = shift; my ($foo) = @_; return lc($foo) . 'BAR'; }; mangle_args bar => sub { my $self = shift; my ($a, $b, $c) = @_; return ($b, $c, $a); }; my $foo = Foo::Sub->new->foo # 'fooBAR' my $bar = Foo::Sub->new->bar(qw(a b c)) # 'b-c-a'
MooseX::Mangle provides some simple sugar for common usages of around. Oftentimes all that is needed is to adjust the argument list or returned values of a method, but using around directly for this can be tedious. This module exports a few subroutines which make this a bit easier.
MooseX::Mangle
around
Applies an around method modifier to METHOD_NAME, using CODE to mangle the argument list. CODE is called as a method, and additionally receives the arguments passed to the method; it should return the list of arguments to actually pass to the method.
Applies an around method modifier to METHOD_NAME, using CODE to mangle the returned values. CODE is called as a method, and additionally receives the values returned by the method; it should return the list of values to actually return.
Provides a requirement that must be satisfied in order for METHOD_NAME to be called. CODE is called as a method, receiving the arguments passed to the method. If CODE returns true, the method is called as normal, otherwise undef is returned without the original method being called at all.
METHOD_NAME
CODE
No known bugs.
Suggestions for more modifiers are always welcome, though.
Please report any bugs through RT: email bug-moosex-mangle at rt.cpan.org, or browse to http://rt.cpan.org/NoAuth/ReportBug.html?Queue=MooseX-Mangle.
bug-moosex-mangle at rt.cpan.org
Moose
You can find this documentation for this module with the perldoc command.
perldoc MooseX::Mangle
You can also look for information at:
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/MooseX-Mangle
CPAN Ratings
http://cpanratings.perl.org/d/MooseX-Mangle
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=MooseX-Mangle
Search CPAN
http://search.cpan.org/dist/MooseX-Mangle
Jesse Luehrs <doy at tozt dot net>
This software is copyright (c) 2009 by Jesse Luehrs.
This is free software; you can redistribute it and/or modify it under the same terms as perl itself.
To install MooseX::Mangle, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MooseX::Mangle
CPAN shell
perl -MCPAN -e shell install MooseX::Mangle
For more information on module installation, please visit the detailed CPAN module installation guide.