moosex::meta::typecoercion::structured(3) [osx man page]
MooseX::Meta::TypeCoercion::Structured(3) User Contributed Perl Documentation MooseX::Meta::TypeCoercion::Structured(3)NAME
MooseX::Meta::TypeCoercion::Structured - MooseX::Meta::TypeCoercion::Structured - Coerce structured type constraints.
DESCRIPTION
We need to make sure we can properly coerce the structure elements inside a structured type constraint. However requirements for the best
way to allow this are still in flux. For now this class is a placeholder.
SEE ALSO
The following modules or resources may be of interest.
Moose, Moose::Meta::TypeCoercion
AUTHORS
o John Napiorkowski <jjnapiork@cpan.org>
o Florian Ragwitz <rafl@debian.org>
o Yuval Kogman <nothingmuch@woobling.org>
o Tomas Doran <bobtfish@bobtfish.net>
o Robert Sedlacek <rs@474.at>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by John Napiorkowski.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
perl v5.16.2 2011-10-03 MooseX::Meta::TypeCoercion::Structured(3)
Check Out this Related Man Page
MooseX::Meta::TypeConstraint::Structured(3) User Contributed Perl Documentation MooseX::Meta::TypeConstraint::Structured(3)NAME
MooseX::Meta::TypeConstraint::Structured - 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
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
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_generator
is_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 elements
SEE ALSO
The following modules or resources may be of interest.
Moose, Moose::Meta::TypeConstraint
AUTHORS
o John Napiorkowski <jjnapiork@cpan.org>
o Florian Ragwitz <rafl@debian.org>
o Yuval Kogman <nothingmuch@woobling.org>
o Tomas Doran <bobtfish@bobtfish.net>
o Robert Sedlacek <rs@474.at>
COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by John Napiorkowski.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
perl v5.16.2 2011-10-03 MooseX::Meta::TypeConstraint::Structured(3)