The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Method::Modifiers - Lightweight method modifiers

SYNOPSIS

        package Foo;
        use warnings;
        use Data::Util qw(:all);
        use Method::Modifiers;

        before old_method =>
                curry \&warnings::warnif, deprecated => q{"old_method" is deprecated, use "new_method" instead};

        my $success = 0;
        after qw(foo bar baz) => sub{ $success++ };

        around foo => sub{
                my $next = shift;
                my $self = shift;

                $self->$next(map{ instance $_, 'Foo' } @_);
        };

DESCRIPTION

This module is an implementation of Class::Method::Modifiers that provides Moose-like method modifiers.

This is just a front-end of Data::Util::modify_subroutine() and Data::Util::subroutine_modifier()

See Data::Util for details.

INTERFACE

Default exported functions

before(method(s) => code)
around(method(s) => code)
after(method(s) => code)

Exportable functions

add_method_modifier(class, modifer_type, method(s), modifier)

SEE ALSO

Data::Util.

Moose.

Class::Method::Modifiers.