Why not adopt me?
NAME
MooseX::Mangle - mangle the argument list or return values of your methods
VERSION
version 0.02
SYNOPSIS
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'
DESCRIPTION
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.
EXPORTS
mangle_args METHOD_NAME CODE
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.
mangle_return METHOD_NAME CODE
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.
guard METHOD_NAME CODE
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.
BUGS
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.
SEE ALSO
SUPPORT
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
CPAN Ratings
RT: CPAN's request tracker
Search CPAN
AUTHOR
Jesse Luehrs <doy at tozt dot net>
COPYRIGHT AND LICENSE
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.