MooseX::Declare::Syntax::MethodDeclaration(3)

NAME
MooseX::Declare::Syntax::MethodDeclaration - Handles method declarations

DESCRIPTION
A role for keyword handlers that gives a framework to add or modify methods or things that look like methods.

ATTRIBUTES

  prototype_injections
An optional structure describing additional things to be added to a methods signature. A popular example is found in the "around" method modifier handler:

METHODS

  parse
  Object->parse (Object $ctx);

Reads a name and a prototype and builds the method meta object then registers it into the current class using MooseX::Method::Signatures and a "custom_method_application", that calls "register_method_declaration".

CONSUMES

•   MooseX::Declare::Syntax::KeywordHandling

REQUIRED METHODS

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

This method will be called with the target metaclass and the final built method meta object and its name. The value it returns will be the value returned where the method was declared.

SEE ALSO

•   MooseX::Declare

•   MooseX::Declare::Syntax::NamespaceHandling

•   MooseX::Declare::Syntax::MooseSetup

•   MooseX::Method::Signatures

AUTHORS

•   Florian Ragwitz <rafl@debian.org>

•   Ash Berlin <ash@cpan.org>

•   Chas. J. Owens IV <chas.owens@gmail.com>

•   Chris Prather <chris@prather.org>

•   Dave Rolsky <autarch@urth.org>

•   Devin Austin <dhoss@cpan.org>

•   Hans Dieter Pearcey <hdp@cpan.org>

•   Justin Hunter <justin.d.hunter@gmail.com>

•   Matt Kraai <kraai@ftbfs.org>

•   Michele Beltrame <arthas@cpan.org>

•   Nelo Onyiah <nelo.onyiah@gmail.com>

•   nperez <nperez@cpan.org>

•   Piers Cawley <pdcawley@bofh.org.uk>

•   Rafael Kitover <rkitover@io.com>

•   Robert 'phaylon' Sedlacek <rs@474.at>

•   Stevan Little <stevan.little@iinteractive.com>

•   Tomas Doran <bobtfish@bobtfish.net>

•   Yanick Champoux <yanick@babyl.dyndns.org>

COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Florian Ragwitz.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.