Rechercher une page de manuel
MooseX::Meta::TypeConstraint::Structured.3pm
Langue: en
Version: 2010-06-01 (ubuntu - 24/10/10)
Section: 3 (Bibliothèques de fonctions)
NAME
MooseX::Meta::TypeConstraint::Structured - Structured type constraints.DESCRIPTION
A structure is a set of Moose::Meta::TypeConstraint that are 'aggregated' in such a way as that they are all applied to an incoming list of arguments. The idea here is that a Type Constraint could be something like, ``An Int followed by an Int and then a Str'' and that this could be done so with a declaration like:Tuple[Int,Int,Str]; ## Example syntax
So a structure is a list of Type constraints (the ``Int,Int,Str'' in the above example) which are intended to function together.
ATTRIBUTES
This class defines the following attributes.type_constraints
A list of Moose::Meta::TypeConstraint objects.constraint_generator
A subref or closure that contains the way we validate incoming values against a set of type constraints.METHODS
This class defines the following methods.new
Initialization stuff.validate
Messing with validate so that we can support niced error messages.generate_constraint_for ($type_constraints)
Given some type constraints, use them to generate validation rules for an ref of values (to be passed at check time)parameterize (@type_constraints)
Given a ref of type constraints, create a structured type.__infer_constraint_generator
This returns a CODEREF which generates a suitable constraint generator. Not user servicable, you'll never call this directly.compile_type_constraint
hook into compile_type_constraint so we can set the correct validation rules.create_child_type
modifier to make sure we get the constraint_generatoris_a_type_of
is_subtype_of
equals
Override the base class behavior.type_constraints_equals
Checks to see if the internal type constraints are equal.get_message
Give you a better peek into what's causing the error. For now we stringify the incoming deep value with Devel::PartialDump and pass that on to either your custom error message or the default one. In the future we'll try to provide a more complete stack trace of the actual offending elementsSEE ALSO
The following modules or resources may be of interest.Moose, Moose::Meta::TypeConstraint
AUTHOR
John Napiorkowski, "<jjnapiork@cpan.org>"COPYRIGHT & LICENSE
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre