MooseX::Declare::Syntax::Keyword::MethodModifier - Handle method modifier declarations


MooseX-Declare documentation Contained in the MooseX-Declare distribution.

Index


Code Index:

NAME

Top

MooseX::Declare::Syntax::Keyword::MethodModifier - Handle method modifier declarations

DESCRIPTION

Top

Allows the implementation of method modification handlers like around and before.

ATTRIBUTES

Top

modifier_type

A required string that is one of:

METHODS

Top

register_method_declaration

  Object->register_method_declaration (Object $metaclass, Str $name, Object $method)

This will add the method modifier to the $metaclass via Moose::Utils add_method_modifier, whose return value will also be returned from this method.

CONSUMES

Top

SEE ALSO

Top

AUTHORS

Top

COPYRIGHT AND LICENSE

Top


MooseX-Declare documentation Contained in the MooseX-Declare distribution.

package MooseX::Declare::Syntax::Keyword::MethodModifier;
BEGIN {
  $MooseX::Declare::Syntax::Keyword::MethodModifier::AUTHORITY = 'cpan:FLORA';
}
BEGIN {
  $MooseX::Declare::Syntax::Keyword::MethodModifier::VERSION = '0.34';
}
# ABSTRACT: Handle method modifier declarations

use Moose;
use Moose::Util;
use Moose::Util::TypeConstraints;

use namespace::clean -except => 'meta';


with 'MooseX::Declare::Syntax::MethodDeclaration';


has modifier_type => (
    is          => 'rw',
    isa         => enum(undef, qw( around after before override augment )),
    required    => 1,
);


sub register_method_declaration {
    my ($self, $meta, $name, $method) = @_;
    return Moose::Util::add_method_modifier($meta->name, $self->modifier_type, [$name, $method->body]);
}


1;

__END__