NAME
MooseX::FunctionParametersInfo - make Function::Parameters::info() data available within the meta object protocol
SYNOPSIS
package Foo {
use Function::Parameters;
use Moose;
use MooseX::FunctionParametersInfo;
method bar (Str $x, Int $y) {
...;
}
}
my $method = Class::MOP::class_of('Foo')->get_method('bar');
printf("%s %s\n", $_->type, $_->name)
for $method->positional_parameters;
__END__
Str $x
Int $y
DESCRIPTION
Function::Parameters provides declarative sugar for processing arguments to subs, and provides a small API to query the declarations.
Moose provides a comprehensive introspection API for Perl classes.
MooseX::FunctionParametersInfo marries them together, injecting information from Function::Parameters into Moose's meta objects.
MooseX::FunctionParametersInfo is currently distributed as part of Moops, but is fairly independent of the rest of it, and may be spun off as a separate release in the future.
Methods
MooseX::FunctionParametersInfo adds the following methods to the Moose::Meta::Method objects for your class. If your method is wrapped, it is the info from the original (wrapped) method that is reported; not the info from the wrapper. If your method was not declared via Function::Parameters (e.g. it was declared using the Perl built-in sub
keyword) then we make a best guess.
Methods that return parameters, return Function::Parameters::Parameter objects, which have name
and type
methods. The type (if any) will be a blessed type constraint object, such as a Moose::Meta::TypeConstraint or Type::Tiny object.
declaration_keyword
-
Returns the name of the keyword used to declare the method; e.g.
"sub"
or"method"
. slurpy_parameter
-
The array parameter into which additional arguments will be slurped, or undef.
invocant_parameter
-
The parameter which is the method's invocant (typically,
$self
or$class
), or undef. positional_required_parameters
,positional_optional_parameters
named_required_parameters
,named_optional_parameters
-
Returns the appropriate parameters as a list.
positional_parameters
,named_parameters
-
A list of the required parameters followed by optional parameters.
minimum_parameters
,maximum_parameters
-
The minimum and maximum number of parameters the method can take.
BUGS
Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=Moops.
SEE ALSO
Moose, Function::Parameters, Function::Parameters::Info.
AUTHOR
Toby Inkster <tobyink@cpan.org>.
COPYRIGHT AND LICENCE
This software is copyright (c) 2013-2014 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
DISCLAIMER OF WARRANTIES
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.