Scroll to navigation

MooseX::FunctionParametersInfo(3pm) User Contributed Perl Documentation MooseX::FunctionParametersInfo(3pm)

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.

Moops.

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.

2020-08-09 perl v5.30.3