NAME¶
MooseX::Declare::Syntax::KeywordHandling - Basic keyword functionality
DESCRIPTION¶
This role provides the functionality common for all keyword handlers in
MooseX::Declare.
ATTRIBUTES¶
identifier¶
This is the name of the actual keyword. It is a required string that is in the
same format as a usual Perl identifier.
METHODS¶
get_identifier¶
Str Object->get_identifier ()
Returns the name the handler will be setup under.
setup_for¶
Object->setup_for (ClassName $class, %args)
This will setup the handler in the specified $class. The handler will dispatch
to the "parse_declaration" method when the keyword is used.
A normal code reference will also be exported into the calling namespace. It
will either be empty or, if a "generate_export" method is provided,
the return value of that method.
parse_declaration¶
Object->parse_declaration (Str $filename, HashRef $setup_args, @call_args)
This simply creates a new context and passes it to the "parse" method.
REQUIRED METHODS¶
parse¶
Object->parse (Object $context)
This method must implement the actual parsing of the keyword syntax.
SEE ALSO¶
- •
- MooseX::Declare
- •
- MooseX::Declare::Context
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.